Я не могу печатать пустые строки при чтении значений из текстового файла с помощью awk в сценарии bash

awk ведет себя очень странно в моем скрипте. Я пытаюсь прочитать значения из текстового файла (см. Ниже file.txt ).

awk игнорирует пробелы в моем скрипте, но когда я сам тестирую оператор awk (в тестовом скрипте для прослушивания) он обеспечивает правильный вывод.

Вот file.txt :

 cain jon chris johny anthony jose 

Вот мой оператор awk : awk '{print $1}' file.txt

Это вывод, когда оператор awk находится в моем скрипте:

 cain jon chris johny anthony jose 

Это вывод, когда оператор awk изолирован в моем тестовом скрипте:

 cain jon chris johny anthony jose 

Я пытался использовать \n в качестве разделителя, но получаю тот же результат.

Почему awk ведет себя по-другому в моем скрипте и когда он изолирован?

Дайте мне знать, если потребуется дополнительное объяснение.

  • Как извлечь деталь диска в Linux?
  • значение столбца печати, основанное на совпадении имени столбца в awk / sed
  • Как я могу использовать Awk для преобразования временной отметки unix для чтения человеком при создании файла журнала Tail-f?
  • Как обрабатывать в реальном времени dd?
  • извлекать часть текста из всех совпадающих строк
  • Shell Script - оптимизация Awk
  • Извлеките первые две части каждой линии, используя awk
  • подстановка команды внутри awk
  • One Solution collect form web for “Я не могу печатать пустые строки при чтении значений из текстового файла с помощью awk в сценарии bash”

    Я думаю, что это может быть ошибка в вашем скрипте, а не awk .

    Ситуация, в которой awk ведет себя так, – это когда двойная строка новой строки задана переменной RS :

     awk '{print $1}' RS='\n|\n\n' file 

    Вы должны проверить, изменил ли ваш скрипт значение RS .

    Linux и Unix - лучшая ОС в мире.