xargs的- n1参数
起因在对一堆*.tar.gz文件解压缩时,发现tar xvfz *.tar.gz不管用,一查,原来是tar xvfz *.tar.gz会被shell给拆成tar xvfz a.tar.gz b.tar.gz c.tar.gz,而在a.tar.gz中不存在b.tar.gz,当然会报错。
解决方法是使用脚本,写法很多,其中一种是:
for i in $(ls *.tar);do tar xvf $i;done
或:for tar in *.tar.gz; do tar tvfz $tar;done
另还有一种使用xagrs的写法:
ls *.tar.gz|xargs -n1 tar tvfz
关键就在于这个xagrs的-n1参数是什么意思呢?
n1应该是指每次只传递一个参数给args命令,有高人写过如下脚本对比,非常能说明问题:
echo "1 2 3 4"|xargs -n1
1
2
3
4
echo "1 2 3 4"|xargs -n2
1 2
3 4
这样,若加n1参数,则*.tar.gz会拆成每个tar.gz文件后,一个一个传给tar tvfz命令,这样就解决了问题。.
http://blog.163.com/squall_smile/blog/static/603498402013122570281/
其实这种问题的解决方法有很多种,这里列举四种比较常见的:
法一:用分号隔开(适用于对象较少的时候)
# ls
p2848731_11i_SOLARIS.zip p2848731_11i_zhs.zip p4262360_11i_GENERIC.zip
#unzip p2848731_11i_SOLARIS.zip;unzip p2848731_11i_zhs.zip;unzip p4262360_11i_GENERIC.zip
法二:
#find . -name '*.zip' -exec unzip {} ;
法三:
#ls *.zip | xargs -n1 unzip
法四:(借用一个循环)
# for i in *
> do
> unzip $i
> done
http://blog.chinaunix.net/uid-57865-id-2090586.html
法五:
使用
unzip "*.zip"
ls *.zip | xargs -n1 unzip
解压当前目录下的所有zip文件
xargs的- n1参数的更多相关文章
- [Linux] xargs的- n1参数
起因在对一堆*.tar.gz文件解压缩时,发现tar xvfz *.tar.gz不管用,一查,原来是tar xvfz *.tar.gz会被shell给拆成tar xvfz a.tar.gz b.tar ...
- xargs的i参数
xargs与find经常结合来进行文件操作,平时删日志的时候只是习惯的去删除,比如 # find . -type f -name "*.log" | xargs rm -rf * ...
- OS + Linux RedHat 6.3 QA
s 问题1:could not open session 解决办法 https://blog.csdn.net/qq_40809549/article/details/82658720 解决1: 配置 ...
- xargs -i参数详解
学习所需,文章转载过来! xargs与find经常结合来进行文件操作,平时删日志的时候只是习惯的去删除,比如 # find . -type f -name "*.log" | xa ...
- xargs命令_Linux xargs命令:一个给其他命令传递参数的过滤器
本文要为大家介绍的命令是 xargs,我们把它称为护花使者,因为它总是乐于协助其他的命令来完成一些事情.下面一起来看看它是如何护花的. xargs 是 execute arguments 的缩写,它的 ...
- Linux 参数代换 命令 xargs
xargs 命令也是管道命令中的一员.xargs命令的功能简单来说就是参数代换.那么什么叫做参数代换,这里首先要了解管道的概念.在 linux管道 命令一节中我们详细介绍了管道命令的概念.这里我们只是 ...
- linux命令--xargs的使用
xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可以将单行或多 ...
- find and xargs
调整搜索深度 -mandepth 搜索当前目录,而不进入子目录: find . -maxdepth 0 -name "debug*" Linux中find常见用法示例 ·find ...
- Linux xargs 命令
xargs xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可 ...
随机推荐
- 自己实现的库函数1(strlen,strcpy,strcmp,strcat)
为了便于理解和使用库函数,先把自己实现的几个函数以及测试函数呈现如下. //求字符串长度的函数int my_strlen(const char* pStr){ assert(pStr != NULL) ...
- SVM入门
前言: 又有很长的一段时间没有更新博客了,距离上次更新已经有两个月的时间了.其中一个很大的原因是,不知道写什么好-_-,最近一段时间看了看关于SVM(Support Vector Machine)的文 ...
- Java 包(package)详解
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间. 包的作用 1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2 如同文件夹一样,包也采用了树形目录的存储方式.同一 ...
- oracle 外部表
CREATE TABLE "EXT_ENTRY_WORKFLOW" ( ), ), "CREATE_DATE" DATE, ), ), ), ), ), ), ...
- 纯JS文本比较工具
前段时间由于工作需要写了一个纯JS文本比较工具 在这里与大家分享下 算法有待优化,还希望大家多多指教 先上效果图: 奉上源码(把源码保存为html格式的文件就可以直接运行了): <!doctyp ...
- 删除word文档中表格后的空行
处理办法为: 方法1:使上.下页边距数值缩小,从而使页面扩大能容纳下这一段落行. 方法2:光标处于最后段落行符号前,右键→段落→缩进和间距→间距→行距→固定值→设置值→1磅→确定.
- constructor(构造器)
当我们创建一个类的时候,如果不自定义构造器,则系统会自动创建一个默认的构造器,也是一个无参构造器用于初始化. 当我们在类的里面创建了自己的构造器,则系统将不会创建默认的构造器,由于需求条件不同,构造器 ...
- MonoBehaviour
所有的Unity脚本都继承自MonoBehaviour这个类,它没有Main函数入口,采用了事件触发的模式,根据不同的事件响应不同的函数. void Start(): void Update():每一 ...
- List<T>中Exists 和Contains的区别
.net编码中,使用泛型List<>时,经常遇到这样的需求:新来一个Model对象,如果已有的List中没有这条数据,则把新对象Add到List中,否则不处理 判断已有的List中是否包含 ...
- 保持程序在后台长时间运行-b
iOS为了让设备尽量省电,减少不必要的开销,保持系统流畅,因而对后台机制采用墓碑式的“假后台”.除了系统官方极少数程序可以真后台,一般开发者开发出来的应用程序后台受到以下限制:1.用户按Home之后, ...