Почему моя инструкция awk создает пустой текстовый файл?

#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 или чего-то подобного.