Удалить столбец из текстового файла
если строго одним табом, то программа называется cut
CoreUtils, не понимаю.
Спасибо! Как ее пропустил при просмотре
cat file|awk '{print $1 " " $2 " " $4 " " $5 " " $7}'>newfile
Спасибо, но решение с cut элегантнее.
если количество полей в каждой строке одно и то же можно воспользоваться awk, допустим, надо из 7 полей удалить 3 и 6:А если количество полей все же разное, то все равно можно воспользоваться awk:
awk '{$3 = $6 = ""; gsub("[[:space:]][[:space:]]\+", " "); print}'
И да, не
awk '{print $1 " " $2 " " $4 " " $5 " " $7}', ибо это пиздец, а
awk 'BEGIN {OFS = " "} {print $1, $2, $4, $5, $7}', причем экшен при паттерне BEGIN реально нужен только если в системе где-то в настройках awk записан другой OFS.
awk 'BEGIN {OFS = "\t"} {print $1, $2, $4, $5, $7}'
Оставить комментарий
saveliev_a
Привет. Есть у меня файл с кучей строк. В каждой строке поля разделены табом. Нужно удалить некоторые из полей. Пока нашел простое решение: скопировать текст в OpenOffice, удалить столбцы и вставить обратно. В идеале хотелось бы воспользоваться какой-нить консольной утилитой, чтобы можно было 1 раз батник написать и ему уже кормить файлы. Куда копать, awk, sed?Ось — винда.