我的任务是使用和输出具有名称以'p'
字母开头的属性的文件列表。ls
grep
我用来ls -Rl
显示文件列表,如下所示,但我不知道如何仅输出'p'
字母文件:
ls -lR | grep -v :$ | grep -v total | grep -v "^$"
答案1
答案2
你的代码方式:
ls -Rl | awk '/^-/ && $NF ~/^p/'
仅当满足以下两个条件时才打印文件列表。
/^-/
行以连字符开头。$NF ~ /^p/
最后一列以 p 开头。 (仅当文件名中没有空格时)
我更喜欢使用find
命令而不是解析ls
find . -type f -name "p*" -ls
答案3
正如OP所述,使用grep并显示属性。使用 GNU grep:
ls -Rlp | grep -v / | grep -P "(?<=:[0-9]{2}[[:blank:]])p.*"