当我运行此命令
user@ubuntu:~$ ./2input1output Jojo Ar Dublin
它给我这个输出
Your First Name: Jojo
Your Last Name : Ar
Your Hometown : Dublin
Thank you, Jojo Ar From Dublin,
Welcome to Stackoverflow
现在我需要显示该输出的第4行和第5行,然后将其保存在一个变量中,例如,我调用variable MESSAGE
,我已经尝试过了
user@ubuntu:~$ (sed -n 4,5p ./2input1output)
但是它给了我这个输出
echo"Thank you, $1 $2 From $3,
Welcome to stackoverflow"
您的命令实际上正在按预期方式工作;您要求sed从文件“ 2input1output”返回第4行和第5行。如您所见,返回位置参数(即$ 1,$ 2和$ 3),因为这就是脚本中的内容。
您需要做的是实际上首先运行脚本以获得所需的输出(STDOUT),然后将其通过管道传输到流编辑器(sed)。因此,只需单击一下,即可将所需的内容保存到变量中:
$ MESSAGE=$(./2input1output Jojo Ar Dublin | sed -n 4,5p)
请记住,如果在访问变量时需要保留换行符,请先将其用双引号引起来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句