Nif*_*fle 12 bash shell bash-scripting
当我想对文件中的每一行做一些事情时,我通常会写
cat my_file | while read a
do
gzip "$a"
done
Run Code Online (Sandbox Code Playgroud)
gzip 只是一个例子,它可以是任何东西。
我想知道的是是否有另一种方法来获取线条而不是cat file | while read?
Liq*_*ire 28
你不需要使用cat:
while read line; do
echo "$line"
done < my_file
Run Code Online (Sandbox Code Playgroud)
我不认为有更简单的方法。
我认为最简单的方法是使用xargs,例如,
xargs -L1 gzip < my_file
Run Code Online (Sandbox Code Playgroud)
该-L1选项告诉一次xargs处理一个输入行。您也可以看看GNU parallel,它与GNU parallel非常相似,xargs但在某些情况下更强大。