给定
文件1
1:b:c:4
文件2
1:3:47:8:aa:2
文件3
1:4:5:8:9:11:aaaaa:2:3:4:88:9:10
我想在“:”之后找到该行的尾部。要注意每个文件始终只包含一行
例如
$ command file1
4
$ command file2
2
$ command file3
10
答案1
sed 's/.*://' file*
上面的命令删除每行sed
最后一个之前的所有内容(包括)。:
:
答案2
awk -F: '{print $NF}' file*
此 awk 命令将打印最后一列(用 :(冒号)分隔)
答案3
使用bash
:
line=$(<file)
echo "${line##*:}"
- 读
file
入变量line
. echo
变量并删除##
前缀模式的最长匹配 ( )*:
和grep
:
grep -ho '[^:]*$' file*
-o
如果您有一个输入文件,则仅需要选项(仅打印匹配的部分)。禁止-h
在每次匹配之前打印文件名。