awk ошибка для моего файла - PullRequest
0 голосов
/ 12 мая 2018

У меня есть файл CSV, и я хочу выбрать определенный столбец. Проблема в том, что когда я использую {'print $ 1'}, это работает. Когда я использую {'print $ 2'}, результатом являются оставшиеся столбцы, а не только второй столбец. Как пример:

file.csv:

1 2 3

1 2 3

1 2 3

awk '{print $ 1}':

1

1

1

awk '{print $ 2}':

2,3

* * 1 022 2,3

2,3

Является ли мой CSV-файл источником проблемы? Что я должен сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 12 мая 2018

Печать 2-го поля показывает, что в вашем Input_file есть пробелы и запятые. Так что, если это так, то может помочь следующее.

awk -F'[ ,]' '{print $2}'  Input_file

Поскольку вы не упомянули какой-либо разделитель полей для своего файла Input_file, по умолчанию пробел является разделителем полей, а затем строка, например, -> 1 2,3 1-е поле будет 1, а 2-е поле будет оставшимся В приведенной выше строке кода я сделал 2 разделителя полей пробел и запятую, а затем напечатал 2-е поле, которое работает только нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...