首页 > 解决方案 > 切入终端后执行字符串

问题描述

我有一个文件说 test.txt ,其内容是:

ID="1002"Name="gltestDmesg":Command="dmesg":

我想运行这样的命令:

cat test.txt | rev | cut -d'"' -f2 | rev | execute

代替execute,它应该是一个使dmesg在终端中运行的命令。代替dmesg,它可以是可以在终端上运行的任何命令。我试过xargs为:

cat test.txt | rev | cut -d'"' -f2 | rev | xargs

但它dmesg作为输出给出,因为xargs中的默认程序是echo

我尝试在几个链接中搜索,但都说字符串操作使用cutsed之后没有执行。但是我知道了,xargs但这也行不通。

如果我错过了什么,也请发表评论。

谢谢!

Edit1:在 test.txt 中,可以有多行类似的语法,所以我也可以用cat代替 grep。

标签: stringbashubuntuterminal

解决方案


您可以将输出用作命令:

$(rev test.txt | cut -d'"' -f2 | rev)

旧的形式(仍在工作,但你不能嵌套它):

`rev test.txt | cut -d'"' -f2 | rev`

或者,如果您必须对其进行管道传输,则以下内容应该有效:

rev test.txt | cut -d'"' -f2 | rev | sh

推荐阅读