3.8 批量生成空白文件
有时候我们可能需要生成测试样本。比如我们可能要用程序对 1000 个文件进行操作,那应怎样生成这些测试文件呢?
3.8.1 预备知识
touch
命令可以用来生成空白文件;如果文件存在,则可以用它修改文件的时间戳。让我们来看看如何使用这个命令。
3.8.2 实战演练
用下面的命令可以创建一个名为filename的空白文件:
- $ touch filename
批量生成名字不同的空白文件:
- for name in {1..100}.txt
- do
- touch $name
- done
在上面的代码中,{1..100}
会扩展成一个字符串“1, 2, 3, 4, 5, 6, 7,…100”。除了{1..100}.txt
,我们还可以使用其他简写样式,比如 test{1..200}.c
、test{a..z}.txt
等。
如果文件已经存在,那么touch
命令将会与该文件相关的所有时间戳更改为当前时间。如果我们只想更改某些时间戳,则可以使用下面的选项。
touch -a
只更改文件访问时间(access time)。touch -m
只更改文件内容修改时间(modification time)。
除了将时间戳更改为当前时间,我们还能够为时间戳指定特定的时间和日期:
- $ touch -d "Fri Jun 25 20:50:14 IST 1999" filename
-d
使用的日期串不一定总是以同样的格式呈现。-d
可以接受任何的标准日期格式。我们可以忽略具体时间,使用“Jan 20 2010”这种方便的日期格式。