我的目的是快速创建如下目录树:
.
|-- dir1
| |-- 01
| | `-- file_00
| |
| |-- 02
| | `-- file_00
| |
| |-- 03
| | `-- file_00
| |
| |-- 04
| `-- file_00
|
`-- dir2
|-- 01
| `-- file_00
|
|-- 02
| `-- file_00
|
|-- 03
| `-- file_00
|
`-- 04
`-- file_00
我完成的是:
mkdir {dir1,dir2}
mkdir ./{dir1,dir2}/{01,02,03,04}
touch ./{dir1,dir2}/{01,02,03,04}/file_00
但是当我想追加一个随机数时,$RANDOM
足够随机,对每个file_00
我遇到了问题。我试过了:
find . -type f -name 'file_00' -exec echo $RANDOM > {} \;
但是在工作目录中创建了一个名为{}
的文件,其中重复的随机数与find
的匹配次数相同(或者我假设)。
我如何为每个file_00
写一个随机数?
/dev/random
可在WSL上找到
答案 0 :(得分:5)
小改进,使用mkdir -p
,你只需要一个mkdir命令。
在-exec指令中调用shell:
find . -type f \
-name file_00 \
-exec bash -c 'for file; do echo $RANDOM > "$file"; done' bash '{}' +
或只是迭代find
结果
find . -type f -name file_00 -print0 | while IFS= read -d '' -r filename; do
echo $RANDOM > "$filename"
done