Ответ 1
cat file | while read line
do
echo "a line: $line"
done
ИЗМЕНИТЬ:
Чтобы получить содержимое файла в var, используйте:
foo="`cat file`"
Мне нужно прочитать файл, используя цикл "Do/While".
Как я могу прочитать содержимое в виде строки?
Здесь мой код:
cat directory/scripts/tv2dbarray.txt | while read line
do
echo "a line: $line"
done
Ошибка:
test.sh: line 4: syntax error near unexpected token `done'
test.sh: line 4: `done'
cat file | while read line
do
echo "a line: $line"
done
ИЗМЕНИТЬ:
Чтобы получить содержимое файла в var, используйте:
foo="`cat file`"
Нет причин использовать cat
здесь - он не добавляет никакой функциональности и порождает ненужный процесс.
while IFS= read -r line; do
echo "a line: $line"
done < file
Чтобы прочитать содержимое файла в переменной, используйте
foo=$(<file)
(обратите внимание, что это обрезает завершающие символы новой строки).
Это должно работать:
file=path/of/file/location/filename.txt
while IFS= read -r varname; do
printf '%s\n' "$varname"
done < "$file"
попытайся
while read p
do
echo $p
done < directory/scripts/tv2dbarray.txt
С php:
php -r "echo file_get_contents('text.txt');"
Или с помощью трубы:
php -r "echo stream_get_contents(STDIN);" < text.txt
Это тоже работает, файлы обрабатываются как html (если в нем нет тегов php!):
php text.txt
Наблюдать за интерактивными изменениями, как tail -f
. (Здесь нет темпа, очень быстро...)
php -r "while(true)echo fread(STDIN,'1');" < text.txt