이름이 특정 문자로 시작하는 파일만 표시

이름이 특정 문자로 시작하는 파일만 표시

'p'내 임무는 이름이 문자로 시작하는 속성을 가진 파일 목록을 소비하고 출력하는 것입니다 .lsgrep

다음과 같은 파일 목록을 표시하는 데 사용하고 있는데 알파벳 파일 ls -Rl만 출력하는 방법을 모르겠습니다 .'p'

ls -lR | grep -v :$ | grep -v total | grep -v "^$"

답변1

귀하의 질문에서 중요한 내용을 빠뜨리지 않는 한, 간단히 다음과 같이 이 작업을 수행할 수 있다고 말하고 싶습니다.파일 글로빙:

ls -l p*

이 명령은 로 시작하는 파일과 디렉터리를 나열합니다 p. 사용할 필요가 없습니다 grep.

답변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.*"

관련 정보