我有一个名为“dir”的目录,其中有一个名为01 02 03 ... 10的html文件和文件夹。我想从文件夹“dir”创建,在每个文件夹中创建一个文件page01.html文件夹01和page02.html为dir 02等..
我试过了:
for i in `ls -a * /`; do
touch page$i.html
done
但它不会在目录中创建我的文件。
谢谢
答案 0 :(得分:1)
您可以使用:
for d in {01..10}; do
touch "$d/page$d.html"
done
答案 1 :(得分:0)
要为每个目录pageX.html
创建文件X
,您可以使用:
for dir in */
do
touch "$dir/page$dir.html"
done
这是for dir in `ls -d */`
的更安全且冗余度较低的版本,不应该使用它,因为它对各种类型的特殊字符都有问题。
如果您有其他目录,可以将其限制为两位数的名称:
for dir in [0-9][0-9]/
do
touch "$dir/page$dir.html"
done
答案 2 :(得分:0)
/tmp/dir> ls -d *
01 02 03 04 05 06 07 08 09 10
/tmp/dir> for d in `ls -d *`; do f=$d/page$d.html ; touch $f; ls $f; done
01/page01.html
02/page02.html
03/page03.html
04/page04.html
05/page05.html
06/page06.html
07/page07.html
08/page08.html
09/page09.html
10/page10.html
/tmp/dir>