关于bash:将sed的输出存储到变量中

Store output of sed into a variable

本问题已经有最佳答案,请猛点这里访问。

我想将文件的第二行存储到变量中,因此我要执行以下操作:

1
sed -n '2p' myfile

我希望将sed命令的输出存储到名为line的变量中。

正确的语法是什么?


使用如下命令替换:

1
2
line=$(sed -n '2p' myfile)
echo"$line"

还要注意,=标志周围没有空间。


一般来说,

1
variable=$(command)

1
variable=`command`

后者是旧的语法,更倾向于$(command)

注:variable = ....表示执行命令variable,第一个参数为=,第二个参数为....


要将第三行存储到变量中,请使用以下语法:

1
variable=`echo"$1" | sed '3q;d' urfile`

1
2
line=`sed -n 2p myfile`
echo $line