如果文件不存在则创建文件

ous*_*lmi 2 command-line bash text-processing

我列举了许多文本文件。我想添加缺少的文本文件并用 0 填充它们;例如,:

   -directory
     -1.txt
     -2.txt
     -6.txt
Run Code Online (Sandbox Code Playgroud)

我想将 3.txt、4.txt 和 5.txt 添加到目录中。每个文本文件包含一个字符,0。这是一个示例:

   -directory
     -1.txt
     -2.txt
     -3.txt
     -4.txt
     -5.txt
     -6.txt
Run Code Online (Sandbox Code Playgroud)

这可以用一个简单的命令来完成吗?

谢谢你。

Rav*_*ina 6

用你想要的任何数字改变 6。

touch {1..6}.txt
Run Code Online (Sandbox Code Playgroud)

触摸现有文件并为丢失的文件创建一个空文件。

find . -name '*.txt' -size 0 -exec tee <<<"0" {} +
Run Code Online (Sandbox Code Playgroud)

0为所有空文件添加编号。请记住,如果您已经存在的文件是空的,它也会向所有文件添加零。


一种效率不高的方法:

for i in {1..100}.txt; do if [ ! -f "$i" ]; then echo 0 > "$i"; fi; done;
Run Code Online (Sandbox Code Playgroud)

寻找.txt之间的文件1100一个一个,并创建他们,如果他们不存在。创建的文件有一个文本字符“0”;现有文件不会被修改。