如何使用grep命令提取文本文件中的数字

时间:2016-01-21 10:02:51

标签: shell grep

我有一个cookie文件,我只想使用grep命令在.jpg扩展名之前提取数字..我可以这样做吗

USERSTAFFPHOTO 09480106177557.jpg

我要复制09480106177557

3 个答案:

答案 0 :(得分:0)

echo "USERSTAFFPHOTO 09480106177557.jpg" | grep -oE '[0-9]{1,}'

答案 1 :(得分:0)

你应该链接2个grep命令,第一个用于获取文件名和.jpg扩展名,第二个用于获取文件名中的数字:

grep -oE '[0-9]+\.jpg' | grep -oE '[0-9]+'

否则,您将获得包含或不包含.jpg扩展名的文件中存在的所有数字。

答案 2 :(得分:0)

为什么要限制自己使用特定工具?你想要这个号码,还是想用grep?如果格式是固定的,我会使用tr

执行此操作
echo USERSTAFFPHOTO 09480106177557.jpg | tr -cd [0-9]

如果这是文件中的一行而您需要将其过滤掉,请尝试使用awk:

awk '/USERSTAFFPHOTO/{print $2}' FS=' |\\.' input