假设,如果有一个由以下几行组成的文件,如果它们是
12345 567 7878 66 er3 t45t y6y46y 4y6 y656y y5y 46y6 65y7 y66uyuy yy46y6y
输出必须类似于:
66 y6y46y y5y y66uyuyy y46y6y
我已经尝试过命令sed 's/.* //g'
filename 和其他几个sed
命令,但它不起作用。
我可以知道确切的sed
命令是什么吗?
答案1
你可以试试 :
sed 's/.* //'
awk '{print $NF}'
如果您的文件中有以空格结尾的行,您可以预先使用 删除所述尾随空格sed 's/ +$//'
。这两个动作可以组合在一行中:
sed -e 's/ +$//' -e 's/.* //'
答案2
awk '{print $NF}'
sed 's/[[:blank:]]*$//;s/.*[[:blank:]]//'
awk
这仍然会为每个空行打印一个空行(带有as运算符的整行将$
应用于 0,这将产生完整的记录)。为了避免它:
awk 'NF{print $NF}'
sed 's/[[:blank:]]*$//;s/.*[[:blank:]]//;/./!d'
答案3
变量是awk
$NF
每条记录的最后一个字段;您可以使用它仅打印文件的最后一个字段,如下所示:
awk '{print $NF}' file
答案4
您可以使用一些适当的模式来grep
代替sed
,例如:
grep -o "[a-Z0-9]*$"
在此示例中,[...]
包含被认为适合“单词”的字符范围(在本例中为字母数字,可以添加其他符号,其中一些符号必须被转义)。