0

我正在尝试循环加载大量 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 可能性。很明显,出了点问题。有任何想法吗?

4

3 回答 3

3

您是在文本编辑器中编写的,然后尝试将其粘贴到终端中吗?您是否使用制表符来缩进行?如果是这样,请尝试将制表符更改为空格,或者将文件保存为 shell 脚本,然后运行它。

(tab 键调用完成,如果有很多匹配的完成,它会显示“显示所有 x 可能性”消息。)

于 2010-10-12T11:32:05.967 回答
0

echo "Enter no of terms" read count for i in $(seq 1 $count) do t= expr $i - 1for j in $(seq $t -1 0) do echo -n " " done j= expr $count + 1x= expr $j - $ifor k in $( seq 1 $x) do echo -n "* " done echo ""

于 2014-01-19T16:39:36.570 回答
0

在子 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 文件..在文件路径中不包含任何带有 ' ' 的名称,这是非常罕见的。

于 2010-10-12T11:32:12.907 回答