터치 명령과 와일드카드를 사용하여 문제를 해결하는 방법은 무엇입니까?

터치 명령과 와일드카드를 사용하여 문제를 해결하는 방법은 무엇입니까?

"와일드카드" 문자의 사용을 보여주기 위해 명령을 실행하여 현재 디렉터리에 다음 빈 파일을 만듭니다.

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}

관련 정보