我想打印一个以四位数字开头的文件中的所有行.我尝试了这个allredy但它不起作用:
cat data.txt | awk --posix '{ if ($1 ~ /^[0-9]{4}/) print $1}'
Run Code Online (Sandbox Code Playgroud)
没有生成输出
下一行打印所有以数字开头的lins:
cat data.txt | awk --posix '{ if ($1 ~ /^[0-9]/) print $1}'
Run Code Online (Sandbox Code Playgroud)
用awk:
$ awk '/^[0-9][0-9][0-9][0-9]/ {print $1}' your_file
Run Code Online (Sandbox Code Playgroud)
也就是说,检查从该行开始的4位数.
更新:第5个字符不是数字.
$ awk '/^[0-9][0-9][0-9][0-9]([^0-9].*)?$/ {print $1}' your_file
Run Code Online (Sandbox Code Playgroud)
注意没有必要使用这个{ if ($1 ~ /^[0-9]/)句子,它只是完成/^.../.
对于打印与给定正则表达式匹配的行,grep第一个工具是:
grep -Eo '^[0-9]{4}[^0-9]*\s' file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14566 次 |
| 最近记录: |