长话短说:我有一个文件夹,里面有1583个.tar
文件。每个.ta
r文件只包含一个文件夹,我想要一个只包含这些文件夹的文件夹。尝试使用控制台命令来完成这个操作,因为我不知道如何让python为我完成这个操作。通过在线阅读,我想出了下面的命令
for file in ls *.tar do; do tar -xzf $file -C /path/to/destination/folder done
出现错误:
for: command not found
不知道该怎么办。无论我在哪里看如何让for循环在linux终端中工作,到处都在说"
写入for x; do y
却没有关于如何让那些东西真正发挥作用的建议。
我听到了很多关于linux bash和脚本之类的东西......我真的不明白所有这些东西是什么。我需要执行一些仪式来让bash工作吗?显然ls和cd之类的东西也是bash的一部分?这些对我来说工作得很好,但是for循环不是......
对不起,如果这是真的基本的家伙,我是一种计算机文盲。
谢谢你的帮助!
好吧,它要求我写2节,我想出了以下后,我已经写了上面:
如前所述,我已经提出了以下命令
for file in ls *.tar do; do tar -xzf $file -C /path/to/destination/folder done
手动使用tar -xzf
工作得很好,甚至可以把它放在正确的文件夹中。但我不想只手动操作(因为有1500多个文件),而且tar
命令不会将*.tar
作为输入-我查找了如何解决这个问题,并得到了我试图用作修复的命令。
再次感谢!!
裘德
1条答案
按热度按时间ep6jt1vc1#
命令中有一些语法错误。但是
bash
应该理解for
。您确定您使用的是bash
而不是csh
或tcsh
吗?为了确保(出于测试目的),您只需键入
这会让你开始害羞。
至于语法错误:该命令可能应为:
另一方面,如果你想继续使用你的(t)csh,它应该是这样的: