Raj*_*ala 10 sed awk text-processing
假设,如果有一个由以下几行组成的文件,如果它们是
12345 567 7878 66 er3 t45t y6y46y 4y6 y656y y5y 46y6 65y7 y66uyuy yy46y6y
输出必须如下所示:
66 y6y46y y5y y66uyuyy y46y6y
我已经尝试了命令sed 's/.* //g'
文件名和其他几个sed
命令,但它不起作用。
我可以知道确切的sed
命令是什么吗?
awk '{print $NF}'
sed 's/[[:blank:]]*$//;s/.*[[:blank:]]//'
Run Code Online (Sandbox Code Playgroud)
这仍然会为每个空行打印一个空行。为了避免它:
awk 'NF{print $NF}'
sed 's/[[:blank:]]*$//;s/.*[[:blank:]]//;/./!d'
Run Code Online (Sandbox Code Playgroud)
该awk
变量$NF
是每条记录的最后一个字段; 您可以使用它仅打印文件的最后一个字段,如下所示:
awk '{print $NF}' file
Run Code Online (Sandbox Code Playgroud)
你快到了。只需指定最后一个单词:
sed 's/^.* \([^ ][^ ]*\)/\1/g'
Run Code Online (Sandbox Code Playgroud)
它能做什么:
(编辑以添加更好的解决方案。谢谢 Hildred!)