使用shell中的内容创建多个文件

时间:2010-11-10 02:56:15

标签: bash unix scripting

脚本新手。如何编写代码来创建多个文件(a.txt,b.txt,...,z.txt)?

感谢。

7 个答案:

答案 0 :(得分:73)

创建26个空文件的一个命令:

touch {a..z}.txt

或152:

touch {{a..z},{A..Z},{0..99}}.txt

创建包含一些内容的152个文件的小循环:

for f in {a..z} {A..Z} {0..99}
do
    echo hello > "$f.txt"
done

您可以使用前导零执行带编号的文件:

for i in {0..100}
do
    echo hello > "File$(printf "%03d" "$i").txt"
done

或者,在Bash 4中:

for i in {000..100}
do
    echo hello > "File${i}.txt"
done

答案 1 :(得分:4)

echo Hello > a.txt
echo World > b.txt

for i in a b c d e f g; do
    echo $i > $i.txt
done

如果您想要更多有用的示例,请提出更有用的问题......

答案 2 :(得分:2)

要创建名称为a.txtb.txt的简单传递名称到touch的文件

touch a.txt b.txt

答案 3 :(得分:1)

您可以使用$ cat > a.txt创建文件。如果您需要包含具有特定内容的文件,请键入$ echo content > filename

答案 4 :(得分:1)

for i in {1..200}; do touch any_prefix_here${i}; done

其中 i 是计数。因此,示例文件是员工 1 员工 2 等...到emplyee 200

答案 5 :(得分:1)

在文件中使用某些内容dd

for i in {1..N};
do
dd if=/dev/urandom of=./path/file${i} bs=1M count=1;
done

答案 6 :(得分:0)

我更喜欢使用数字而不是使用文件名 a..z。

创建一个这样的脚本 (createNfiles.sh)

#!/bin/bash

if [ "$1" = "" ]; then
  echo "Usage: $0 <number of files to create>"
  exit 1
fi

now=`date '+%Y-%m-%d_%H%M%S'`
prefix="${now}_myFilePrefix"
echo "creating $1 files"
echo "now=$now"

for i in $(seq 1 $1); do file="${prefix}_${i}.log"; echo "creating $file"; touch $file; done

执行它(例如创建 100 个文件)

<块引用>

./createNfiles.sh 100