в bash "for; do echo; done" разбивает строки на пробелы
в bash на Mac OSX у меня есть файл (тестовый случай), который содержит строки
x xx xxx
xxx xx x
но когда я выполнить команду
for i in `cat r.txt`; do echo "$i"; done
результат не
x xx xxx
xxx xx x
как я хочу, а
x
xx
xxx
xxx
xx
x
как сделать echo дать мне "x xx xxx"?
3 ответов
по умолчанию Bash для цикла разбивается на все пробелы. Вы можете переопределить это, установив IFS
переменной:
IFS=$'\n'
for i in `cat r.txt`; do echo "$i"; done
unset IFS