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

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

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

file1,file2

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

이 명령을 사용하고 있지만 touch {$(cat file)}.mdfile1,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

관련 정보