Linux 在每个文件夹中创建文件夹和文件的脚本
您知道在以下情况下,shell中的脚本会是什么样子吗 执行时,它必须 具有特定计数的文件夹 在每个文件夹中,它必须从0-9创建空白文件 最重要的是,必须创建另一个目录,其中包含一个文件,计算每个目录中有多少文件Linux 在每个文件夹中创建文件夹和文件的脚本,linux,shell,scripting,Linux,Shell,Scripting,您知道在以下情况下,shell中的脚本会是什么样子吗 执行时,它必须 具有特定计数的文件夹 在每个文件夹中,它必须从0-9创建空白文件 最重要的是,必须创建另一个目录,其中包含一个文件,计算每个目录中有多少文件 提前谢谢你 shell脚本可能如下所示: #!/bin/bash count=0 for x in {A..Z}; do mkdir ${x} pushd ${x} > /dev/null || exit 1 for y in {0..9}; do
提前谢谢你 shell脚本可能如下所示:
#!/bin/bash
count=0
for x in {A..Z}; do
mkdir ${x}
pushd ${x} > /dev/null || exit 1
for y in {0..9}; do
count=$((count + 1))
touch $y
done
popd > /dev/null || exit 1
done
mkdir counter
echo $count > counter/result
这就是你要找的吗
发生了什么事
我们在字符A到Z的范围内创建一个用当前字符命名的目录
pushd导航到目录中。>/dev/null禁止pushd的日志记录
现在我们在新创建的目录中,我们可以通过调用文件名上的touch来创建文件0..9。
在这里,我们还可以增加计数器,因为我们刚刚创建了一个文件
创建完所有十个文件后,我们将返回到使用popd生成的目录,并继续循环。计算每个目录中有多少个文件?-如果每个文件夹中有0-9之间的空白文件,则每个文件夹将有10个文件…不,总共。最后一个目录将被称为A-Z,其中包含所有目录的文件总数。所以它是260个文件?确切地说。必须说明,从目录A到目录Z,其中的文件总数是260。它的工作原理和预期的一样。多谢各位。你能给我解释一下这是怎么回事吗?我设法在{A..Z}中用for char创建目录;但似乎没有找到如何在一行中的每个目录中创建文件。我编辑了答案以解释基本步骤。这对你有帮助吗?诀窍是使用pushd/popd进入新创建的目录。我刚刚在pushd和popd中添加了`| exit 1`,因此当其中一个命令失败时,我们将退出脚本。