sed、grep 和 awk 文件排序

sed、grep 和 awk 文件排序

我正在尝试从目录中获取名称中包含“load”的所有文件。我正在尝试执行以下操作:

find -type f | sed -s 'load

然而,我反复收到错误

sed:-e 表达式 #1,字符 1:未知命令:`f'

更糟糕的是,虽然我能够操作正则表达式,但我非常不擅长使用 grep/sed/awk,这一直在拖慢我的速度。到目前为止,我在网上找到的任何材料都不是很好。你们知道任何全面且相当简洁的截屏视频/教程吗?我仍然怀念阅读和快速理解 Linux 手册的技能。

答案1

您根本不需要 grep/sed/awk,让我们find为您过滤结果:

find . -type f -name '*load*'

或者仅在 bash 中

shopt -s globstar nullglob
load_files=( **/*load* )

如果你确实想要一个外部工具:

find . -type f | grep load
find . -type f | awk '/load/'
find . -type f | sed -n '/load/p'

使用 sed 时,使用 -n 来抑制正常输出,并且仅打印与模式匹配的行。

相关内容