Я пытаюсь отредактировать текстовый файл, который имеет несколько строк, которые похожи на это:
avaya logs 20171202 000000 (9).txt: 660119211mS CMLOGGING: CALL:2017/12/0111:14,00:00:16,008,203,O,208,208,Jon,,,1,,""n/a,0
Я хочу удалить все прежде, где это говорит CALL
на каждой строке.
Я думаю sed
команда может сделать это, но я не очень знаком с нею.
Как я могу сделать это?
Можно использовать awk
следующим образом:
awk -F "CALL" '{print "CALL"$2}' filename
Результат:
CALL:2017/12/0111:14,00:00:16,008,203,O,208,208,Jon,,,1,,""n/a,0
Подробнее:
-F
или --field-separator
флаг и установка CALL, чтобы быть полевым разделителемПримечание: Можно перенаправить вывод в другое использование файла:
awk -F "CALL" '{print "CALL"$2}' filename > newfilename
С sed:
sed -e 's/.*CALL:/CALL:/' input.txt > output.txt
Если Вы хотите отредактировать входной файл, на месте добавляют -i
опция.