我有几个文件名,为了方便我将它们放在一个文件中,如下所示:
01.action1.txt
04action2.txt
12.action6.txt
2.action3.txt
020.action9.txt
10action4.txt
15action7.txt
021action10.txt
11.action5.txt
18.action8.txt
正如您所看到的那样,格式并不一致,我试图从这些文件名中提取第一个数字1,4,12,2,20等
我有以下正则表达式
(\.)?action\d{1,}.txt
哪个成功匹配.action [number] .txt但是我还需要匹配前导0并将其应用于我的替换,并在sed中使用空白,所以我只留下前导数字。我在匹配前导0并将整个事情应用于sed时遇到了麻烦。
由于
答案 0 :(得分:1)
使用GNU sed:
sed -r 's/0*([0-9]*).*/\1/' file
输出:
1 4 12 2 20 10 15 21 11 18
答案 1 :(得分:1)
我不知道下面的awk
是否有用,但它也有效:
awk '{print $1 + 0}' file
1
4
12
2
20
10
15
21
11
18