spu*_*der 2 bash command-history sed awk text-processing
如何解析 bash 中的前一个命令?
例子:
root$ ssh foo@1.2.3.4
root$ echo !$ &>/tmp/foo.txt
root$ cat /tmp/foo.txt
foo@1.2.3.4
Run Code Online (Sandbox Code Playgroud)
目标:
仅将 ipaddress 发送 1.2.3.4
到 foo.txt
我尝试使用 awk,但没有成功
#doesn't work
cat /tmp/foo.txt |awk '{print $2,$3,$4}'
Run Code Online (Sandbox Code Playgroud)
我还尝试使用 sed 解析出数字
#doesn't work
sed 's/.//p' /tmp/foo.txt
sed 's/[0-9]//p' /tmp/foo.txt
Run Code Online (Sandbox Code Playgroud)
注意事项
1.2.3.4永远是0.0.0.0和255.255.255.255之间的数
的用户名foo
可以是任何长度
foo@1.2.3.4是不必然传递到SSH(例如.. SSH 1.2.3.4 -l富)的唯一参数
资源
进一步
说明 最终目标是在我的 .bashrc 中创建一个函数,使我能够轻松删除冲突的 ssh 密钥。
root$ ssh foo@1.2.3.4
#some big error message warning about man in the middle attack
root$ ssh-keygen -R 1.2.3.4
Run Code Online (Sandbox Code Playgroud)