기본 콘텐츠로 여러 파일을 만드는 방법 - Parrot Linux

기본 콘텐츠로 여러 파일을 만드는 방법 - Parrot Linux

폴더에 콘텐츠가 포함된 파일을 x개 만들 수 있는 방법을 알고 싶었습니다.

예를 들어:

내 홈 디렉터리에 있는 내 파일 테스트 폴더에 기본 콘텐츠가 포함된 250개의 파일을 만들고 싶습니다.

정말로 도움이 필요한 것은 bash 쉘을 사용하여 테스트 목적으로 콘텐츠가 포함된 많은 파일을 만드는 방법입니다.

어떤 도움이라도 주시면 감사하겠습니다.

답변1

콘텐츠가 포함된 파일을 생성하고 250회 실행하는 루프를 코딩할 수 있습니다.

for i in $(seq 1 250) ; do echo -n "content" > ~/test/file$i ; done

설명:

  • seq 1 250: 1부터 250까지의 숫자를 표시합니다. 이는 for에서 필요한 실행량을 계산하는 데 사용됩니다.
  • echo -n "content" > ~/test/file$i: 홈 디렉토리에 있는 "test" 폴더의 파일에 "content"를 저장합니다.

echo -n > file$i나는 다음보다 빠르기 때문에 사용을 선호합니다 touch file$1.

>> time ./01.sh
./01.sh  0,03s user 0,06s system 28% cpu 0,316 total
>> time ./02.sh
./02.sh  0,01s user 0,00s system 77% cpu 0,017 total

01.sh콘텐츠:

#!/bin/bash

for i in {001..250} ; do touch ./01/file$i ; done

02.sh콘텐츠:

#!/bin/bash

for i in {001..250} ; do echo -n > ./02/file$i ; done

답변2

먼저 다음과 같은 간단한 bash for 루프로 시작할 수 있습니다.

for i in {001..250} ; do touch ./file$i ; done

그러면 현재 디렉터리에 file001부터 file250까지라는 250개의 빈 파일이 생성됩니다.

(이 경우) 터치하면 파일이 없으면 파일이 생성됩니다. 파일이 비어 있습니다. 내용이 포함된 파일을 생성하려면 do루프 부분을 변경할 수 있습니다 for. 예를 들어 do cp ./master.file ./newfile.$i, master.file이라는 파일을 250개의 새 파일에 복사하고 해당 파일의 이름은 newfile.001부터 newfile.250까지입니다.

너무 혼란스럽나요? Bash에서 이러한 기능이 어떻게 작동하는지 이해하는 데 시간이 좀 걸렸지만 일단 관리한 후에는 거의 매일 사용합니다. 그러니 편하게 물어보세요. 더 많이 그리고/또는 더 잘 설명하려고 노력하겠습니다.

답변3

이전의 (매우 좋은) 답변을 보완하여 파일에 일부 내용을 넣는 데 중점을 둘 것입니다. 이 경우에는 임의의 영어 단어 3개와 임의의 숫자입니다.

$ for a in {001..009}
do
(shuf -n 3 /usr/share/dict/words ; echo $RANDOM)  > FILE_$a
done

생성된 파일의 예:

$ cat FILE_005
atrophy
grays
backdate
9612

관련 정보