Я не могу печатать пустые строки при чтении значений из текстового файла с помощью 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 ведет себя по-другому в моем скрипте и когда он изолирован?

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

  • Сценарий оболочки и добавление больших значений в проблему с ограниченным файлом
  • "^ Обратный слэш не последний символ в строке" в gawk
  • sed / awk / perl - удаление пробелов между двумя строками / словами + solaris 10
  • Как сделать следующее форматирование с помощью сценария sed или awk или bash на linux
  • Сценарий оболочки для объединения двух файлов
  • Строка строк вложения для первых двух столбцов равна
  • Последняя строка неверна при разбиении файла на awk
  • Насколько хорошо работает grep / sed / awk на очень больших файлах?
  • One Solution collect form web for “Я не могу печатать пустые строки при чтении значений из текстового файла с помощью awk в сценарии bash”

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

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

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

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

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