Вырезать столбец из списка

Как я могу вырезать второй столбец из следующего списка из терминала?

56    267  
57    235  
58    255  
59    283 
5
задан 17.04.2020, 18:06

3 ответа

Если данные находятся в файле с именем test.txt, awk '{ print $1 }' test.txt сделает это.

7
ответ дан 17.04.2020, 18:07
  • 1
    Это для первого столбца. – Cheeso 17.04.2020, 18:07
  • 2
    You' ll хотят awk '{ print $2 }' file.txt вместо этого, для получения 2-го столбца. – zneak 17.04.2020, 18:08
  • 3
    Да. Я знаю это. Но способ, которым я считал вопрос, я думал OP, хотел сохранить первый столбец. – dss539 17.04.2020, 18:08

Попробуйте:

sed -e "s/[[:space:]]\+/\t/g" filename | cut -f2

Первая команда (sed) заменит все пробельные символы одной вкладкой, а результат будет передан второй команде (cut), которая выберет второе поле от каждой строки.

См. man cut и man sed для получения дополнительной информации.

0
ответ дан 17.04.2020, 18:06

Если пробел между столбцами имеет символ Tab, то

cut -f 2

будет делать то, что вы хотите. Если они пробелы, то сначала сожмите их до одной вкладки:

tr -s \  \\t | cut -f 2
1
ответ дан 17.04.2020, 18:08

Теги

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