Следующий оператор awk работает должным образом. Он возвращает 1, 2 и 4 столбца из текстового файла, ограниченного |Возврат в середине текстовой строки
awk '{print $1,"|", $2,"|", $(NF-3), "|",$(NF-2), "|", $(NF-1),"|", $(NF)}'
Я хотел бы вернуть средние столбцы между ними. Другими словами, мне нужно заменить $ something из следующей строки на то, что будет работать.
awk '{print $1, $2, $something, $(NF-3), $(NF-2) $(NF-1), $(NF)}'
Может быть от 3 до 11 колонок, которые заменят что-то переменное.
К сожалению не получил. Что не так с 'awk '{print $ 1, $ 2, $ 3, $ (NF-3), $ (NF-2) $ (NF-1), $ (NF)}' 'ИЛИ' awk' {print $ 1, $ 2 , $ 4, $ (NF-3), $ (NF-2) $ (NF-1), $ (NF)} ''? – anubhava
Мне нужно разбить файл с | разделитель в 7 столбцах. – shantanuo
Вы можете использовать: '' {printf ("% s |% s |% s |% s |% s |% s |% s |% s \ n", $ 1, $ 2, $ 3, $ (NF-3) , $ (NF-2) $ (NF-1), $ (NF);} '' – anubhava