tcsh를 사용하여 빈 대체 항목을 검색하는 방법

tcsh를 사용하여 빈 대체 항목을 검색하는 방법

ls를 사용하여 빈 대안을 검색하려고 하는데 아무것도 작동하지 않습니다. 파일 목록이 있습니다.foo.txt foouubar.txt fooubbar.txt fooubar_1.txt foounix.txt

나는 단지 갖고 싶어 foo.txt그리고foouubar.txt

나는 시도했다:

ls foo\(*ubar\|\(\)\).txt 

그러나 결과는 비어 있습니다. 내 명령줄에 문제가 있나요?

나는 tcsh에 있어요

답변1

여기에 작동하는 솔루션이 있습니다 tcsh. 다음과 같이 중괄호 확장 연산자를 사용합니다 {..}.

$ echo foo{,uubar}.txt
foo.txt foouubar.txt

이는 문자열 "foo"가 교대로 추가되는 하위 문자열 집합을 생성하여 수행됩니다. 이 경우 {,...}시도한 첫 번째 하위 문자열이 아무것도 얻지 못한다는 의미를 사용합니다. 두 번째 하위 문자열은 "uubar"입니다.

인용하다

답변2

ls파이프와 함께 사용 하면 파일이 한 번에 한 줄씩 출력되므로 grep다른 필터를 사용할 수 있습니다. 따라서 다음은 사용된 셸과 독립적으로 작동합니다(그러나 다른 줄에 파일을 생성합니다).

ls | egrep "foo(uubar|)\.txt"

열을 복원하려면 다음을 수행하세요.

ls | egrep "foo(uubar|)\.txt" | column

관련 정보