M. *_*rra 0 bash find windows-subsystem-for-linux
我的目的是快速创建如下所示的目录树:
.
|-- 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
Run Code Online (Sandbox Code Playgroud)
我完成的是:
mkdir {dir1,dir2}
mkdir ./{dir1,dir2}/{01,02,03,04}
touch ./{dir1,dir2}/{01,02,03,04}/file_00
Run Code Online (Sandbox Code Playgroud)
但是当我想追加一个随机数时,$RANDOM随机就足够了,每次file_00我遇到问题.我试过了:
find . -type f -name 'file_00' -exec echo $RANDOM > {} \;
Run Code Online (Sandbox Code Playgroud)
但是{}在工作目录中创建了一个名为的文件,其重复次数与find匹配的次数相同(或者我假设).
我怎么能给每个人写一个随机数file_00?
/dev/random 可以在WSL上找到
小改进,使用mkdir -p,你只需要一个mkdir命令.
在-exec指令中调用shell:
find . -type f \
-name file_00 \
-exec bash -c 'for file; do echo $RANDOM > "$file"; done' bash '{}' +
Run Code Online (Sandbox Code Playgroud)
或者只是迭代find结果
find . -type f -name file_00 -print0 | while IFS= read -d '' -r filename; do
echo $RANDOM > "$filename"
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |