"와일드카드" 문자의 사용을 보여주기 위해 명령을 실행하여 현재 디렉터리에 다음 빈 파일을 만듭니다.
a1 a11 a123 a1234 a23 a22 a3 1 11 123
누군가 나에게 터치 명령을 사용하여 이 작업을 수행하라고 말했습니다. "Touch[*][1-123]"을 시도했지만 성공하지 못했습니다. 어떤 해결책이라도 주세요
답변1
패턴이 기존 파일 이름과 일치하지 않으면 파일 이름 와일드카드 패턴을 사용하여 파일 이름을 생성할 수 없습니다.
do touch a*[123]
(또는 임의의 와일드카드 패턴)비어 있는일반적으로 디렉토리에는 파일만 생성됩니다 a*[123]
.
반면에 중괄호 확장은 파일 시스템에서 기존 이름을 조회하지 않고 명령줄에서 문자열을 생성합니다.
따라서 "와일드카드"의 의미에 따라 이 작업이 수행될 수도 있고 수행되지 않을 수도 있습니다.
파일 이름을 만들기 위해 올바른 중괄호 확장을 정렬하는 방법을 알아내는 방법을 알아내는 것이 실제로 명령줄에 파일 이름을 입력하는 것보다 시간이 더 오래 걸린다면 파일 이름을 문자 그대로 입력하는 것이 더 낫다고 친구에게 말할 수도 있습니다. 버팀대 확장은 다음과 같아야합니다.지름길.
그러나 파일 이름이 좀 더 균일한 경우(예:
1 12 123 a1 a12 a123 a11 a22 a33
그럼 당신은 사용할 수 있습니다
$ touch {,a}1{,2{,3}} a{11,22,33}
답변2
네, 다음과 같이 사용하세요.
touch a{1,3,11,22,23,123,1234} {1,11,123}
0, 10, 20, 30과 같은 정규 시퀀스가 있는 경우 다음 명령을 사용하여 쉽게 수행할 수 있습니다.
touch a{0..30..10}