sed && awk && grep 命令学习

227 阅读1分钟

195. 第十行

  • 描述 给定一个文本文件 file.txt,请只打印这个文件中的第十行。

sed 命令

cat file.txt | sed -n '10p'

awk 命令

cat file.txt | awk 'NR==10'

有效电话号码

  • 描述 给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个单行 bash 脚本输出所有有效的电话号码。

你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)

你也可以假设每行前后没有多余的空格字符。

  • 实例 输入
987-123-4567
123 456 7890
(123) 456-7890

输出

987-123-4567
(123) 456-7890

grep 命令

cat file.txt | grep -P "^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$"

sed 命令

cat file.txt | sed -rn "/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/p"