我正在尝试循环加载大量 tar 文件,然后将提取的文件移动到一个新文件夹中,检查它们并删除它们,然后再移动到下一个 tar。
代码如下:
for i in *
do
tar -zxvf $i
mv *TTF* encoded
cd encoded
for j in *
do
echo $j
done
rm -f *TTF*
cd ..
done
当它进入嵌套循环时,它会询问我是否要显示所有 x 可能性。很明显,出了点问题。有任何想法吗?
我正在尝试循环加载大量 tar 文件,然后将提取的文件移动到一个新文件夹中,检查它们并删除它们,然后再移动到下一个 tar。
代码如下:
for i in *
do
tar -zxvf $i
mv *TTF* encoded
cd encoded
for j in *
do
echo $j
done
rm -f *TTF*
cd ..
done
当它进入嵌套循环时,它会询问我是否要显示所有 x 可能性。很明显,出了点问题。有任何想法吗?
您是在文本编辑器中编写的,然后尝试将其粘贴到终端中吗?您是否使用制表符来缩进行?如果是这样,请尝试将制表符更改为空格,或者将文件保存为 shell 脚本,然后运行它。
(tab 键调用完成,如果有很多匹配的完成,它会显示“显示所有 x 可能性”消息。)
echo "Enter no of terms" read count for i in $(seq 1 $count) do t= expr $i - 1
for j in $(seq $t -1 0) do echo -n " " done j= expr $count + 1
x= expr $j - $i
for k in $( seq 1 $x) do echo -n "* " done echo ""
在子 shell 中运行 'cd' 命令及其以下操作,这意味着您不必执行 ' cd ..
'。此外,最好直接在子目录中提取每个 tar 文件。
for i in *.tar.gz
do
mkdir encoded
(
cd encoded
tar -zxvf ../$i
for j in *
do
echo $j
done
)
rm -fr encoded
done
这仅假设 tar 文件..
在文件路径中不包含任何带有 ' ' 的名称,这是非常罕见的。