Skype ввел облачную систему группового чата, которая требует Skype 4.3. Возможно, это имеет какое-то отношение к этому.
С sed:
sed 's/[KR[:blank:]]\+/\n/g' A.txt
sed 's/[KR[:blank:]]\+/\n/g' A.txt заменить все один или несколько K, R и пробел / вкладку с символом новой строки из A.txt [d3 ] С awk:
awk -F '[KR[:blank:]]+' '{for(i=1; i<=NF; i++) print $i}' A.txt
sed 's/[KR[:blank:]]\+/\n/g' A.txt заменить все один или несколько K, R и пробел / вкладку с новой строкой из [ f10] {for(i=1; i<=NF; i++) print $i} повторяет и печатает поля Вы можете использовать awk для поиска результирующих паттернов в другом файле, используя два файла в качестве аргументов, и работа оттуда.
Более общим было бы использовать grep для получения шаблонов из входного имени файла, вы можете использовать подстановку процессов для получения дескриптора файла:
grep -f <(awk/sed ... A.txt) B.txt
Для точного соответствия добавьте -F:
grep -Ff <(awk/sed ... A.txt) B.txt
Пример:
% cat A.txt
MSTNPKPQRK TKRNTNRRPE DVKFPGGQI
% sed 's/[KR[:blank:]]\+/\n/g' A.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
% awk -F '[KR[:blank:]]+' '{for(i=1; i<=NF; i++) print $i}' A.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
С sed:
sed 's/[KR[:blank:]]\+/\n/g' A.txt
sed 's/[KR[:blank:]]\+/\n/g' A.txt заменить все один или несколько K, R и пробел / вкладку с символом новой строки из A.txt С awk:
awk -F '[KR[:blank:]]+' '{for(i=1; i<=NF; i++) print $i}' A.txt
sed 's/[KR[:blank:]]\+/\n/g' A.txt заменить все один или несколько K, R и пробел / вкладку с новой строкой из A.txt {for(i=1; i<=NF; i++) print $i} повторяет и печатает поля Вы можете использовать awk для поиска результирующих паттернов в другом файле, используя два файла в качестве аргументов, и работа оттуда.
Более общим было бы использовать grep для получения шаблонов из входного имени файла, вы можете использовать подстановку процессов для получения дескриптора файла:
grep -f <(awk/sed ... A.txt) B.txt
Для точного соответствия добавьте -F:
grep -Ff <(awk/sed ... A.txt) B.txt
Пример:
% cat A.txt
MSTNPKPQRK TKRNTNRRPE DVKFPGGQI
% sed 's/[KR[:blank:]]\+/\n/g' A.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
% awk -F '[KR[:blank:]]+' '{for(i=1; i<=NF; i++) print $i}' A.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
С sed:
sed 's/[KR[:blank:]]\+/\n/g' A.txt
sed 's/[KR[:blank:]]\+/\n/g' A.txt заменить все один или несколько K, R и пробел / вкладку с символом новой строки из A.txt С awk:
awk -F '[KR[:blank:]]+' '{for(i=1; i<=NF; i++) print $i}' A.txt
sed 's/[KR[:blank:]]\+/\n/g' A.txt заменить все один или несколько K, R и пробел / вкладку с новой строкой из A.txt {for(i=1; i<=NF; i++) print $i} повторяет и печатает поля Вы можете использовать awk для поиска результирующих паттернов в другом файле, используя два файла в качестве аргументов, и работа оттуда.
Более общим было бы использовать grep для получения шаблонов из входного имени файла, вы можете использовать подстановку процессов для получения дескриптора файла:
grep -f <(awk/sed ... A.txt) B.txt
Для точного соответствия добавьте -F:
grep -Ff <(awk/sed ... A.txt) B.txt
Пример:
% cat A.txt
MSTNPKPQRK TKRNTNRRPE DVKFPGGQI
% sed 's/[KR[:blank:]]\+/\n/g' A.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
% awk -F '[KR[:blank:]]+' '{for(i=1; i<=NF; i++) print $i}' A.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
Получение желаемого выхода может быть выполнено несколькими различными способами. Представленные ниже Perl и Awk работают точно так же. Вы можете перенаправить любую команду с помощью оператора > в файл, а затем использовать grep -f pattern.txt data.txt
Например, с помощью perl, представленного ниже, мы можем сделать:
perl -ne '@s=split /[KR ]/,$_; foreach(@s){ print "$_\n" if !/^$/}' input.txt > pattern.txt && grep -f pattern.txt data.txt
Подход perl действует так же, как AWK, описанный ниже: разделить строку на столбцы с использованием K, R и пробела в качестве разделителей, а затем перебрать все из них, чтобы печатать только непустые столбцы.
$ perl -ne '@s=split /[KR ]/,$_; foreach(@s){ print "$_\n" if !/^$/}' input.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
$ awk -F '[KR ]' 'BEGIN{OFS="\n"};{$1=$1;print}' input.txt | awk '!/^$/'
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
Основные моменты того, как это работает:
-F позволяет использовать пространство, K и R в качестве разделителей для столбцов (aka fields). BEGIN{OFS="\n"} позволяет нам использовать новую строку в качестве разделителя вывода так, чтобы элементы выходили отделенными символом новой строки. Чтобы применить новый OFS, мы вызываем перестроение текстовой строки с помощью назначения $1=$1 и, наконец, печатаем строку. из-за того, что несколько разделителей столбцов K, R и пространство смежны (например, в PQRK), мы должны отфильтровать пустые строки из первого awk, что и делает второй awk.Замените K, R и пробельные символы с символами новой строки, сжимая любые несколько экземпляров:
$ tr -s '[KR[:space:]]' '\n' < file
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
Получение желаемого выхода может быть выполнено несколькими различными способами. Представленные ниже Perl и Awk работают точно так же. Вы можете перенаправить любую команду с помощью оператора > в файл, а затем использовать grep -f pattern.txt data.txt
Например, с помощью perl, представленного ниже, мы можем сделать:
perl -ne '@s=split /[KR ]/,$_; foreach(@s){ print "$_\n" if !/^$/}' input.txt > pattern.txt && grep -f pattern.txt data.txt
Подход perl действует так же, как AWK, описанный ниже: разделить строку на столбцы с использованием K, R и пробела в качестве разделителей, а затем перебрать все из них, чтобы печатать только непустые столбцы.
$ perl -ne '@s=split /[KR ]/,$_; foreach(@s){ print "$_\n" if !/^$/}' input.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
$ awk -F '[KR ]' 'BEGIN{OFS="\n"};{$1=$1;print}' input.txt | awk '!/^$/'
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
Основные моменты того, как это работает:
-F позволяет использовать пространство, K и R в качестве разделителей для столбцов (aka fields). BEGIN{OFS="\n"} позволяет нам использовать новую строку в качестве разделителя вывода так, чтобы элементы выходили отделенными символом новой строки. Чтобы применить новый OFS, мы вызываем перестроение текстовой строки с помощью назначения $1=$1 и, наконец, печатаем строку. из-за того, что несколько разделителей столбцов K, R и пространство смежны (например, в PQRK), мы должны отфильтровать пустые строки из первого awk, что и делает второй awk.Замените K, R и пробельные символы с символами новой строки, сжимая любые несколько экземпляров:
$ tr -s '[KR[:space:]]' '\n' < file
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
Получение желаемого выхода может быть выполнено несколькими различными способами. Представленные ниже Perl и Awk работают точно так же. Вы можете перенаправить любую команду с помощью оператора > в файл, а затем использовать grep -f pattern.txt data.txt
Например, с помощью perl, представленного ниже, мы можем сделать:
perl -ne '@s=split /[KR ]/,$_; foreach(@s){ print "$_\n" if !/^$/}' input.txt > pattern.txt && grep -f pattern.txt data.txt
Подход perl действует так же, как AWK, описанный ниже: разделить строку на столбцы с использованием K, R и пробела в качестве разделителей, а затем перебрать все из них, чтобы печатать только непустые столбцы.
$ perl -ne '@s=split /[KR ]/,$_; foreach(@s){ print "$_\n" if !/^$/}' input.txt
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
$ awk -F '[KR ]' 'BEGIN{OFS="\n"};{$1=$1;print}' input.txt | awk '!/^$/'
MSTNP
PQ
T
NTN
PE
DV
FPGGQI
Основные моменты того, как это работает:
-F позволяет использовать пространство, K и R в качестве разделителей для столбцов (aka fields). BEGIN{OFS="\n"} позволяет нам использовать новую строку в качестве разделителя вывода так, чтобы элементы выходили отделенными символом новой строки. Чтобы применить новый OFS, мы вызываем перестроение текстовой строки с помощью назначения $1=$1 и, наконец, печатаем строку. из-за того, что несколько разделителей столбцов K, R и пространство смежны (например, в PQRK), мы должны отфильтровать пустые строки из первого awk, что и делает второй awk.Замените K, R и пробельные символы с символами новой строки, сжимая любые несколько экземпляров:
$ tr -s '[KR[:space:]]' '\n' < file
MSTNP
PQ
T
NTN
PE
DV
FPGGQI