Рейтинг:1

Команда Awk со словом в качестве разделителя

флаг de

Как использовать awk для вырезания на основе слова, которое сохраняет все после него: Пример:

Файл.txt > 
XXXXWORDNNNNNN
XXXWORDNNNNNNN
XXWORDNNNNNNNN
XWORDNNNNNNNNN
СЛОВОNNNNNNNNNN

желаемый результат:

Файл.txt >
NNNNNN
НННННН
NNNNNNNN
НННННННН
NNNNNNNNNN
Рейтинг:2
флаг cn
кот Файл.txt | awk -F"WORD" '{напечатать $2}'

Параметр -F обычно ищет одиночный символ в качестве разделителя, но поскольку вы хотите использовать в качестве разделителя строку букв, ее необходимо заключить в двойные кавычки.

$2 означает весь текст, следующий за "WORD"... если только "WORD" не повторяется в строке текста. Если это произойдет, вы увидите только текст между первым и вторым вхождением «WORD».

Надеюсь, это поможет.

флаг hr
+1, хотя кавычки на самом деле не требуются только потому, что разделитель многосимвольный - они необходимы только в том случае, если он содержит специальные символы для оболочки (чего нет в `WORD`). Более существенная разница заключается в том, что многосимвольное значение FS интерпретируется как *регулярное выражение* (хотя опять же `WORD` не содержит никаких специальных символов регулярных выражений). Также у вас есть [uuoc](https://en.wikipedia.org/wiki/Cat_%28Unix%29#Useless_use_of_cat). Таким образом, это может быть упрощено до `awk -F WORD '{print $2}' File.txt`
mondotofu avatar
флаг cn
Спасибо @steeldriver. Я не знал, что есть термин для uuoc. Иногда я использую cat, когда пробую идею для удобочитаемости или передаю стандартный вывод через последовательность каналов. Я мог бы использовать *

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.