给出了
sed -e的@mana-zA*@manwhoami|cut -c5,6,7@g‘file_name.txt
##whoami|cut -c5,6,7处于之间
这样,我就可以在文件中获取manwhoami的-c5,6,7而不是mandev了。
file_name.txt日志文件=/manrun/in/get/new1/
运行$sed -e的@mana-zA*@manwhoami|cut -c5,6,7@g‘file_name.txt之后
我得到如下:$cat file_name.txt日志文件=/manwhoami|cut -c5,6,7/in/get/new1/我需要LogFile=/mandev/in/get/new1/
任何输入,请。
发布于 2022-07-18 20:52:01
如果你把你的东西放在'‘,那么它将不会被评估。
若要计算命令,请将其放入$(命令)
我建议您将命令结果存储到变量中,然后在sed表达式中引用该变量。
发布于 2022-07-18 22:24:16
正如卢卡斯·爱德华多指出的那样,试试这个:
#!/bin/bash
BASE=$(whoami|cut -c5,6,7)
sed -e "s@man[a-zA-Z]*@man${BASE}@g" file_name.txt在您提到的注释中,它不适用于您,这是因为您使用的是单引号,因此没有进行替换。注意,在我的代码中,我使用双引号,因此将发生替换。
希望这能帮到你!
https://stackoverflow.com/questions/73028467
复制相似问题