我试图使用grep命令在foo.txt文件中打印出所有出现的整数文字,但我似乎无法找到方法。
我能想到的唯一想法就是使用[0-9]作为我的模式,但是会打印所有出现数字而不仅仅是文字的行。
编辑:假设foo.txt包含:
string string1 = "Hello world";
cout << string1.at(2) << endl;
cout << string1at(3) << endl;
然后预期的输出是:
cout << string1.at(2) << endl;
cout << string1at(3) << endl;
答案 0 :(得分:1)
有些人喜欢这样:
awk -F"[()]" '$2' foo.txt
cout << string1.at(2) << endl;
cout << string1at(3) << endl;
或确保它在括号中包含数字:
awk -F"[()]" '$2~/[0-9]+/' file
cout << string1.at(2) << endl;
cout << string1at(3) << endl;
答案 1 :(得分:0)
使用grep -o [1-9][0-9]* foo.txt
答案 2 :(得分:0)
这是使用环绕声断言的另一种方式:
测试字符串:
hello 1234 hello234h 122test 123
正则表达式:
grep -o "(?<=\s|^)([0-9]+)(?=\s|$)" foo.txt
匹配
"1234", "123"
正则表达式示例: