Я работаю над файлом .txt, который является выводом нейробиологической программы fsl. В нем есть 2 столбца, и я хочу удалить второй, я тестирую некоторые из предложенных кодов, но, похоже, команды Linux не могут разделить два столбца. Есть идеи, как удалить второй столбец? Например, я пробовал, cut -f1,1 num.txt
но это не работает.
0 0.000000
49 1435.537231
11 322.263489
0 0.000000
0 0.000000
0 0.000000
0 0.000000
360 10546.804688
83 2431.624512
0 0.000000
решение1
awk
мощный инструмент, который, по моему мнению, стоит изучить хотя бы основы. Существует множество руководств. Чтобы безоговорочно напечатать первый столбец, вам нужно всего лишь:
awk '{print $1}' input.txt
Преимущество перед ним cut
в том, что он будет рассматривать любой пробельный символ как разделитель (хотя в некоторых реализациях он ограничен только символами SPC и TAB), будет игнорировать начальные и конечные символы и будет рассматривать последовательности из одного или более пробелов какодинразделитель.
решение2
Похоже на файл, разделенный пробелами.
Чтобы извлечь первый столбец в новый файл:
$ cut -d ' ' -f 1 data >data.new
Указывает -d ' '
использовать cut
пробел в качестве разделителя. По умолчанию используется символ табуляции.