Bash를 사용하여 파일 이름이 포함된 파일을 사용하여 여러 파일 만들기

Bash를 사용하여 파일 이름이 포함된 파일을 사용하여 여러 파일 만들기

파일 이름이 포함된 파일을 사용하여 단일 디렉터리에 다른 파일을 만들려고 합니다. 예를 들어 파일에 다음이 포함되어 있는 경우

file1,file2

디렉터리에 file1.md와 file2.md라는 두 개의 파일이 생성됩니다.

나는 명령을 사용하고 있지만 touch {$(cat file)}.md이것은 단일 파일 file1,file2.md를 생성합니다.

답변1

다음을 사용하여 쉼표를 개행 문자로 바꾸고 tr결과를 배열로 읽을 수 있습니다.

mapfile -t fnames < <(tr ',' '\n' < file)
touch "${fnames[@]/%/.md}"

매개변수 확장은 ${fnames[@]/%/.md}각 배열 요소의 끝( %)을 접미사 로 바꿉니다 .md.

답변2

쉼표를 개행 문자로 변환한 다음 파일 이름을 읽으세요.

sed 's/,/\n/g' file | while read fileName; do touch "$fileName".md; done

또는:

tr , '\n' < file | while read fileName; do touch "$fileName".md; done

답변3

다음과 같이 시도해 볼 수 있습니다.

tr ',' '\n' < file | xargs -0 -I {} touch {}.md

관련 정보