Удалите первую часть каждой строки текстового файла

Я пытаюсь отредактировать текстовый файл, который имеет несколько строк, которые похожи на это:

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 команда может сделать это, но я не очень знаком с нею.
Как я могу сделать это?

3
задан 27 February 2018 в 21:22

2 ответа

Можно использовать 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

Подробнее:

  1. Используйте -F или --field-separator флаг и установка CALL, чтобы быть полевым разделителем
  2. Распечатайте строку "ВЫЗОВ", сопровождаемый
  3. Второй элемент в строке (когда ВЫЗОВ является разделителем),

Примечание: Можно перенаправить вывод в другое использование файла:

awk -F "CALL" '{print "CALL"$2}' filename > newfilename

5
ответ дан 1 December 2019 в 15:21

С sed:

sed -e 's/.*CALL:/CALL:/' input.txt > output.txt

Если Вы хотите отредактировать входной файл, на месте добавляют -i опция.

1
ответ дан 1 December 2019 в 15:21

Другие вопросы по тегам:

Похожие вопросы: