我在Linux中的文件中有以下模式匹配,我更喜欢使用awk:
/* 1 */
/* 65 */
/* 235 */
/*9999 */
虽然我已经尝试过以下代码,但看起来\s
无法在我的服务器上运行。该模式总是总共9个字符。
\/\*[\w\d\s]{5}\*\/
我知道使用[[:space:]]
可以解决这个问题,但是我无法弄清楚它是如何工作的。
理想情况下,我还想了解如何使用 POSIX 方法匹配say,3个空格以及数字和字符。示例:[:space:]{3}
答案 0 :(得分:2)
这应该有用(如果我找到你的话):
awk '/\/\*[[:alnum:][:space:]]{5}\*\//' file.txt
答案 1 :(得分:1)
这可能是您正在寻找的内容:
$ awk '/\/\*[[:space:]]*[[:digit:]]+[[:space:]]*\*\//' file
/* 1 */
/* 65 */
/* 235 */
/*9999 */
$ awk '/\/\*[[:space:]]*[[:digit:]]{3}[[:space:]]*\*\//' file
/* 235 */
$ awk '/\/\*[[:space:]]*[[:digit:]]{3,}[[:space:]]*\*\//' file
/* 235 */
/*9999 */