처음 두 문자에 특정 문자가 포함되지 않은 파일 나열

처음 두 문자에 특정 문자가 포함되지 않은 파일 나열

길이가 2자 이상이고 처음 두 문자에 다음 문자가 없는 파일 이름을 나열해야 합니다. 문자는 abcfghxyz입니다.

지금까지 나는 다음을 가지고 있습니다 :

ls | grep -v '^[abcfghxyz]'

파일 시작 부분에 이러한 문자 중 하나가 포함되어 있지 않은지 확인합니다.

그러나 처음 두 문자와 최소 두 자 이상의 파일을 확인하는 방법은 무엇입니까?

답변1

당신은 이것이 필요하지 않습니다 grep:

ls -1d [^abcfghxyz][^abcfghxyz]*

이는 열 형식 출력이 아닌 한 줄에 하나의 파일 이름을 얻기 위해 ls' 옵션을 사용하고, 해당 옵션을 사용하여 glob과 일치하는 모든 하위 디렉터리의 내용 나열을 중지합니다 .-1-dls

또 다른 옵션은 다음을 사용하는 것입니다 find(디렉터리나 심볼릭 링크 등이 아닌 일반 파일로 출력을 명시적으로 제한할 수 있도록).

find . -maxdepth 1 -type f -name '[^abcfghxyz][^abcfghxyz]*'

답변2

ls | grep .. | grep -v '^[abcfghxyz][abcfghxyz]'

관련 정보