#awk
#awk
Вопрос:
Я пытаюсь написать простой пакетный скрипт для удаления повторяющихся столбцов (после седьмого столбца) из .txt-файла.
Я попробовал следующий код
awk '{ print $1,$2,$3,$4,$5,$6,$7 }' input.txt> output.txt
но он просто создает пустой output.txt
файл в папке, как будто он не ссылается на входной файл.
Кто-нибудь, пожалуйста, может помочь?
Комментарии:
1. Предполагая, что
input.txt
существует в текущем каталоге, в вашей попытке нет ничего плохого. Вы на какой-то сумасшедшей платформе, вроде Windows?2. Добро пожаловать в ИТАК, не видя никаких входных данных, очень трудно сказать, почему что-то не работает.
3. и логика в ваших кодах не будет
delete duplicate columns (after the seventh column)
4. Возможно,
input.txt
не читается? Для отладки запустите эти команды на вашем терминале по одной и скопируйте / вставьте то, что там отображается (т. Е. Каждую команду и ее выходные данные) в ваш вопрос: 1)head -3 input.txt | cat -v
. 2)awk '{ print $1,$2,$3,$4,$5,$6,$7 }' input.txt | head -3 | cat -v
. 3)awk '{ print $1,$2,$3,$4,$5,$6,$7 }' input.txt> output.txt; head -3 output.txt | cat -v
. 4)ls -l input.txt
. 5)wc -l input.txt
5. Вы могли бы также рассмотреть разделители в input.txt . Если это не пробелы / табуляции, то вы не получите то, что хотите. Возможно, вам просто нужно указать ему, каковы разделители, например, с помощью -F или чего-то подобного.