批量解压缩时如何自动覆盖同名的文件?

sh/bash/dash/ksh/zsh等Shell脚本
回复
sivaj
帖子: 541
注册时间: 2007-05-19 16:36

批量解压缩时如何自动覆盖同名的文件?

#1

帖子 sivaj » 2009-05-24 6:59

命令
for f in *.rar ; do unrar e "$f" ; done
如果每个rar文件里都包含一个同名的文件比如 ” 说明 " , 那这个自动解压缩过程就会每解压一个文件会停下来提示你确认是否覆盖 ”说明" 这个文件, 有什么办法可以让这个步骤自动化 ? 就像apt-get的 ”-y“ 选项一样

谢谢
sivaj
帖子: 541
注册时间: 2007-05-19 16:36

Re: 批量解压缩时如何自动覆盖同名的文件?

#2

帖子 sivaj » 2009-05-24 8:23

图片
另外,如何将多个文本文件合并为一个,按顺序的追加到第一个文件后
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 批量解压缩时如何自动覆盖同名的文件?

#3

帖子 aerofox » 2009-05-24 22:17

第一个问题:unrar -h 看一下简单帮助,最后一行就应该是你想要的。
第二个问题:cat file2 file3 ... >> file1
sivaj
帖子: 541
注册时间: 2007-05-19 16:36

Re: 批量解压缩时如何自动覆盖同名的文件?

#4

帖子 sivaj » 2009-05-25 15:55

第二各问题 有很多文件的话 比如目录里可能有上白个小文件,如何让 “file2 file3 ....” 这里自动话呢
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 批量解压缩时如何自动覆盖同名的文件?

#5

帖子 eexpress » 2009-05-25 16:03

file-roller -y
● 鸣学
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 批量解压缩时如何自动覆盖同名的文件?

#6

帖子 aerofox » 2009-05-26 6:46

sivaj 写了:第二各问题 有很多文件的话 比如目录里可能有上白个小文件,如何让 “file2 file3 ....” 这里自动话呢
如果按文件名排序就可以了,那么用简单的通配符就可以:

代码: 全选

cat file* > newfile
如果文件名有某种规律,如它们是 file1.txt, file2.txt, ..., file100.txt,那么

代码: 全选

cat file{2..100}.txt >> file1.txt
其它方法:

代码: 全选

cat `ls --sort=time *.txt` > newfile
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 批量解压缩时如何自动覆盖同名的文件?

#7

帖子 tusooa » 2009-08-19 20:01

sivaj 写了:第二各问题 有很多文件的话 比如目录里可能有上白个小文件,如何让 “file2 file3 ....” 这里自动话呢

代码: 全选

#!/usr/bin/env bash
#

for f in file* 
do
    if [ "$f" = "file1" ]
    then
        :
    else
        cat $f >> file1
    fi
done
exit 0

代码: 全选

] ls -ld //
回复