Я надеюсь, что кто-то может объяснить мне, что происходит в этой ситуации и как ее решить.
Я пытаюсь сделать простую вещь: читать каждую строку из текстового файла с циклом.
Это содержимое текстового файла, над которым я работаю:
аааа аааа ааа
бббббббббб б
cccccccc c c c
ПРИМЕЧАНИЕ. Это простой файл, предназначенный только для проверки концепции. Основной текстовый файл, над которым я работаю, имеет размер около 140 МБ с позиционным макетом для каждого поля.
Это содержимое моего скрипта bash:
ФАЙЛ=./text.txt
awk '{печать}' $FILE | при чтении ROW; делать
эхо $строка
сделано
Я получаю каждую строку из файла, но вот результат:
аааа аааа ааа
бббббббббб б
cccccccc c c c
Как видите, лишние пробелы удаляются из вывода.
Я пытаюсь протестировать этот скрипт, используя аук
, но я уже пробовал с кот
и стандартный вывод
и был тот же результат:
ФАЙЛ=./text.txt
# кот
кот $ФАЙЛ | при чтении ROW; делать
эхо $строка
сделано
##########
# стандартный вывод
при чтении ROW; делать
эхо $строка
сделано < $ФАЙЛ
Я также пытался использовать для петли
:
для ROW в $(awk '{print}' $FILE); делать
эхо $строка
эхо "---"
сделано
Но в результате содержимое каждой строки было разделено пробелами:
аааа
---
аааа
---
а
---
аа
---
бб
---
бббб
---
бббб
---
б
---
cccccccc
---
с
---
с
---
с
---
Как я упоминал ранее, в основном текстовом файле есть позиционные поля, поэтому мне нужны все символы строки, даже если они представляют собой лишние пробелы.
Мне было интересно, может ли кто-нибудь объяснить мне, почему лишние пробелы были удалены и как печатать / работать с полным содержимым строки (с любыми дополнительными пробелами)?