我有一个包含许多行的文件,例如
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
我怎样才能做到这一点? 感谢
答案 0 :(得分:2)
在您的情况下,看起来您可以这样做:
awk '{for (i=3;i<=NF;++i) {print $i}}'
假设您要打印的所有数字都出现在第3栏或之后。
答案 1 :(得分:0)
cat file | while read line
do
for i in $(echo ${line})
do
isnumeric=$(echo ${i} | grep -q [0-9]; echo ${?})
if [ ${isnumeric} -eq 0 ]
then
echo ${i} >> outfile
fi
done
done
不是防弹的,不像以前给出的解决方案那样优雅,但它显示了用于确定这是否是数字的内容。
答案 2 :(得分:0)
while read num alpha rest; do
[[ "$rest" ]] && printf "%s\n" $rest # <-- variable is unquoted
done < filename