use*_*594 2 shell search awk replace sed
这是我的文件的样子
Gottagohome saab 90 75n > homelog 2>&1&
Gottagohome saab 90 75n > homelog 2>&1&
Gottagohome saab 90 75n > homelog 2>&1&
Run Code Online (Sandbox Code Playgroud)
这些命令是动态生成的.我想要的是寻找最后一个命令并让它像这样在前台运行
Gottagohome saab 90 75n > homelog 2>&1&
Gottagohome saab 90 75n > homelog 2>&1&
Gottagohome saab 90 75n > homelog 2>&1
Run Code Online (Sandbox Code Playgroud)
&应该被淘汰最后一个命令.知道如何做到这一点. 实际上我还需要在最后一次出现gottogohome命令之前插入等待.也有人可以说那个. TY Sam
你可以使用带有awk的tac:
tac file | awk '!done && /Gottagohome saab 90 75n/{done=1; sub(/&$/, "")}1' | tac
Run Code Online (Sandbox Code Playgroud)
这可能适合你(GNU sed):
sed '$s/.$//' file
Run Code Online (Sandbox Code Playgroud)
编辑:
为了迎合最后的命令:
sed -r '/(Gottagohome saab 90 75n.*)&\s*$/M,$!b;//{x;//p;x;h};//!H;$!d;x;s//\1/' file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2138 次 |
| 最近记录: |