Você não precisa usar cat
:
while read line; do
echo "$line"
done < my_file
Eu não acho que haja uma maneira mais simples.
Quando quero fazer algo com cada linha de um arquivo, geralmente escrevo
cat my_file | while read a
do
gzip "$a"
done
O gzip é apenas um exemplo, pode ser qualquer coisa.
O que eu estou querendo saber é se existe outra maneira de obter as linhas do que cat file | while read
?
O mais simples, eu acho, seria usar xargs
, por exemplo,
xargs -L1 gzip < my_file
A opção -L1
informa xargs
para processar uma linha de entrada de cada vez. Você pode dar uma olhada no paralelo GNU , que é muito semelhante ao xargs
, mas mais poderoso em algumas situações.
IFS="\n\b"; for i in $MYROWOFCONTENT; do echo $i; done;
Tags bash shell bash-scripting