【发布时间】:2012-09-16 04:20:15
【问题描述】:
我正在寻找一个打印以字符串开头的行的 perl 命令。例如,如果我想打印以“1234”开头的所有行,该命令会是什么样子?赛德?啊?格雷普?
【问题讨论】:
我正在寻找一个打印以字符串开头的行的 perl 命令。例如,如果我想打印以“1234”开头的所有行,该命令会是什么样子?赛德?啊?格雷普?
【问题讨论】:
perl -ne 'print if /^1234/'
或
sed -ne '/^1234/p'
或
awk '/^1234/'
或
grep '^1234'
或
ruby -ne 'print if /^1234/'
甚至
python -c 'import fileinput;print "\n".join([l for l in fileinput.input() if l.startswith("1234")])'
【讨论】:
python -c 'import sys; [sys.stdout.write(l) for l in sys.stdin if l.startswith("1234")]' -- 可能稍微不那么病态,但显然 Python 并不是要取代 grep :)
perl -ne'print if /^1234/' file
但大多数人会使用grep。
grep ^1234 file
或在 Windows 上
findstr /r ^1234 file
【讨论】:
完成:
sed -ne '/^1234/p' somefile
awk '/^1234/{print}' somefile
grep '^1234' somefile
【讨论】:
{print} 是 awk 的默认操作,因此您只需要 /^1234/ 部分。