bash:在循环中使用猫

  • 本文关键字:循环 bash bash cat
  • 更新时间 :
  • 英文 :


以下cat命令似乎在循环外工作正常,但是当我将其放在其中时会产生语法错误:

for i in 1 2 3 4 5 do
  cat file_$i | grep "random text" | cut -d':' -f2 > temp_$i
done

有人可以向我解释写这篇文章的正确方法吗?谢谢

您的 for循环应该有一个半隆:

for i in 1 2 3 4 5; do

您不需要将1 2 3 4 5循环循环。

您可以使用Bash Brace扩展。{1..5}

for i in {1..5}; do 
##
done

我总是更喜欢在下一行中放" do",这种方式可以帮助我不记得使用semicolons:

for i in 1 2 3 4 5
do
  cat file_$i | grep "random text" | cut -d':' -f2 > temp_$i
done

在bash中,'line的结尾'被隐式视为命令/语句的结尾

示例:

echo "Hello"
exit
#No need of semi-colons here as it is implicit that the end of the line is the completion of the statement 

但是,当您要在同一行上添加两个语句/命令时,您需要通过Semi-Colon(;)明确

将它们分开。

示例:

   echo "hello"; exit
#here semi-colon implies that the echo statement ends at the semi-colon and from there on to the end of the line is a new statement.

关于"语句",语法为:

for variable in (value-set)
do
 ----statements----
done

因此,要么将fordostatementsdone放在新行中,要么通过半颜色将它们分开。

相关内容

  • 没有找到相关文章

最新更新