Сценарий для Обработки txt файла к CSV

Я столкнулся с той же проблемой сразу после установки RHEL 7.0. Как ни странно, перезагрузка без изменений конфигурации устранила проблему.

Каким-то образом, когда после установки появился RHEL, его сеть, очевидно, была в беспорядочном состоянии, и ему потребовалась еще одна перезагрузка, чтобы все заработало.

1
20.04.2019, 18:05
2 ответа

В первом закрытии это может быть sed-script:

sed -E '
/Mikrotik01/{s/.* ([0-9.]{7,}) .*/\1/;x;/^$/!b}
/[0-9.]{7,}/!d
s/.* ([0-9.]{7,}).*/\1/
x
G
s/\n/,/
h
$!d' file.txt > file.csv

Или (может быть немного короче, но не так сильно - он распознает новый блок строк по |, а не по Mikrotik01)

sed -E '
  /^T/d
  s/^[^.]*[|:] //
  / \|.*$/{s///;x;/^$/!b}
  x
  G
  s/\n/,/
  $!{h;d}' file.txt > file.csv

Его можно упростить (потому что я делаю дважды одинаковые x и s/), но сейчас я не могу себе представить, как.

0
27.01.2020, 23:51
awk -F'[[:blank:]|]+' '
    /^Mikrotik01/ {if (NR>1) print ""; printf "%s", $(NF-2)} 
    /Unique Entry/ {printf ",%s", $NF}
    END {print ""}
' file.txt > File.csv
1
27.01.2020, 23:51

Теги

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