![tcsh를 사용하여 빈 대체 항목을 검색하는 방법](https://linux55.com/image/34387/tcsh%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%B9%88%20%EB%8C%80%EC%B2%B4%20%ED%95%AD%EB%AA%A9%EC%9D%84%20%EA%B2%80%EC%83%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
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