栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Linux中的命令中间传递带有xargs的所有参数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Linux中的命令中间传递带有xargs的所有参数

这是做到这一点的一种方法

pdftk $(ls | sort -n) cat output combinewd2.pdf

或使用反引号

pdftk `ls | sort -n` cat output combinewd2.pdf

正如评论中指出的那样,这不适用于包含空格的文件名。在这种情况下,您可以使用

eval

eval pdftk $(while IFS= read -r file; do    echo "$file"done < <(ls | sort -n)) cat output combinewd2.pdf

假设有两个名为“ 0 foo”和“ 1 bar”的文件,那么eval的结果将是所需的命令,文件名用双引号引起来:

pdftk " 0 foo " " 1 bar " cat output combinewd2.pdf

如果文件名中可能包含换行符,请使用

find
命令,请参阅@joeytwiddle在@andrewdotn答案中的讨论。以下解决方案还使用
sed
命令转义双引号来处理带双引号的文件名:

eval pdftk $(while IFS= read -r -d '' file; do    echo "$file"done < <(find . -maxdepth 1 -type f -print0 |     sed 's/"/\"/g'| sort -zn)) cat output combinewd2.pdf


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号