如何建立包含基本內容的多個檔案 - Parrot Linux

如何建立包含基本內容的多個檔案 - Parrot Linux

我想知道如何在一個資料夾中建立 x 個包含內容的檔案?

例如:

我想在我的主目錄中的文件測試資料夾中建立 250 個包含基本內容的檔案。

我真正需要幫助的是如何使用 bash shell 創建大量包含用於測試目的的內容的檔案。

任何幫助,將不勝感激。

答案1

您可以編寫一個循環來建立包含內容的檔案並執行 250 次:

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

解釋:

  • seq 1 250:顯示從1到250的數字。
  • 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

這將在目前目錄中建立 250 個空文件,名稱為 file001 到 file250。

Touch(在本例中)僅建立一個檔案(如果該檔案不存在)。空的文件。如果您想建立其中包含某些內容的文件,您可以更改循環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

相關內容