将sed的输出存储到变量中

75 bash

我想将文件的第二行存储到变量中,所以我这样做:

sed -n '2p' myfile
Run Code Online (Sandbox Code Playgroud)

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

这样做的正确语法是什么?

dog*_*ane 114

使用命令替换如下:

line=$(sed -n '2p' myfile)
echo "$line"
Run Code Online (Sandbox Code Playgroud)

另请注意,=标志周围没有空间.


Kar*_*ath 23

一般来说,

variable=$(command)
Run Code Online (Sandbox Code Playgroud)

要么

variable=`command`
Run Code Online (Sandbox Code Playgroud)

后者是旧语法,更喜欢$(command).

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


小智 8

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

variable=`echo "$1" | sed '3q;d' urfile`
Run Code Online (Sandbox Code Playgroud)

要将更改的行存储到变量中,请使用以下语法:variable= echo 'overflow' | sed -e "s/over/"OVER"/g" output:OVERflow