将 sed 的输出存储到变量中
Posted
技术标签:
【中文标题】将 sed 的输出存储到变量中【英文标题】:Store output of sed into a variable [duplicate] 【发布时间】:2011-10-08 14:42:41 【问题描述】:我想将文件的第二行存储到一个变量中,所以我这样做:
sed -n '2p' myfile
我希望将sed
命令的输出存储到一个名为line
的变量中。
执行此操作的正确语法是什么?
【问题讨论】:
【参考方案1】:一般来说,
variable=$(command)
或
variable=`command`
后一种是旧语法,首选$(command)
。
注意:variable = ....
表示执行命令variable
,第一个参数=
,第二个参数....
【讨论】:
我试过这个...它不工作线 =sed -n '2p' myfile
只是挂起...
第二种方法对我有用,谢谢@KarolyHorvath :)【参考方案2】:
像这样使用command substitution:
line=$(sed -n '2p' myfile)
echo "$line"
还要注意=
符号周围没有空格。
【讨论】:
这也挂了....我开始认为我不完全理解我遇到的问题。 你使用的命令和我说的一样吗? 当然....我做了一个更新,现在它可以工作了。非常感谢大家【参考方案3】:line=`sed -n 2p myfile`
echo $line
【讨论】:
我已经修正了你答案的格式。【参考方案4】:要将第三行存储到变量中,请使用以下语法:
variable=`echo "$1" | sed '3q;d' urfile`
要将更改的行存储到变量中,请使用以下语法:
变量=echo 'overflow' | sed -e "s/over/"OVER"/g"
输出:溢出
【讨论】:
以上是关于将 sed 的输出存储到变量中的主要内容,如果未能解决你的问题,请参考以下文章