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

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

폴더의 콘텐츠가 포함된 x 파일을 만드는 방법을 알고 싶습니다.

예를 들어:

내 홈 디렉토리의 files test 폴더에 기본 콘텐츠가 포함된 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" 폴더에 있는 파일에 저장합니다.

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

관련 정보