我有一个包含很多行的文件,例如
1 jfkdajfd 1 2 3 5
2 fkldfjld
3 fdkfloaf 9 10
4 fldfldkf
5 fdskf;ak 12 1 4
我想获取所有数字并将它们放入文件的一列中,例如
1
2
3
5
9
10
12
1
4
我怎样才能做到这一点?谢谢
答案1
尝试
awk '{ for (i = 1; i <= NF; i++) if ($i + 0 == $i) print $i }' < input > output
我用x + 0 == x
它来测试是否x
是有效awk
数字,然后打印原始字符串。由您决定是否需要awk
数字(这包括浮点数、负数,在许多实现中还包括十六进制数)或其他数字。
答案2
怎么样
tr -cs 0-9 '[\n*]' < input | grep . > output