이런 코드
$ ls {a,b}{c,d}
ls
다음 파일에 대해 명령을 실행합니다: ac
, ad
, bc
, bd
. 구문 분석 순서를 바꾸고 다음 과 같은 시퀀스를 생성 하는
쉬운 방법이 있습니까 ?ac
bc
ad
bd
편집하다
다음과 같이 디렉터리 하위 집합에 있는 특정 파일 하위 집합에 대해 grep을 실행하고 싶습니다.
$ grep 'find this' {sub_dir_one,sub_dir_two}/some_loc/{file_one,file_two}
나는 두 행 file_one
과 두 행 file_two
의 행을 원 sub_dir_one
하고 sub_dir_two
주문합니다.
루프를 사용하지 못하게 하는 멋진 트릭이 있는지 궁금합니다.
답변1
Bash 매뉴얼 페이지에 따르면 이 Brace expansion
단락 에서는
확장된 각 문자열의 결과는 순서가 없습니다.왼쪽에서 오른쪽 순서 유지.
for
또 다른 방법은 루프를 사용하는 것입니다 .
for i in file_one file_two; do
grep 'find this' {sub_dir_one,sub_dir_two}/some_loc/"$i"
done