linjia 发表于 2019-4-19 19:06

すぴぱら 发表于 2019-4-19 19:12

typeunknown 发表于 2019-4-19 19:46

本帖最后由 typeunknown 于 2019-4-19 22:12 编辑

https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_72/com.ibm.aix.cmds2/enscript.htm
enscript加-L设个大数试试?

kumat 发表于 2019-4-20 07:30

你得到一堆文件后,再执行:
find IMGS_PATH -name ‘*.png’ |xargs -I % -L 1 convert % -append OUTPUT_FILENAME

-- 来自 能搜索的 Stage1官方 iOS客户端

linjia 发表于 2019-4-20 17:10

linux40 发表于 2019-4-20 20:38

本帖最后由 linux40 于 2019-4-20 20:41 编辑

linjia 发表于 2019-4-20 17:10
请教xargs好像不用是不是也可以?
root@tools# find . -name '*.png' | xargs -I % -L 1
./output-2.png

FILES=`find IMGS_PATH -name "*.png" | xargs` convert $FILES -append OUTPUT_FILENAME

我觉得他应该是这个意思。

没用的话就先
export FILES=`find IMGS_PATH -name "*.png" | xargs`


convert $FILES -append OUTPUT_FILENAME

你看下 man convert 就知道了。

kumat 发表于 2019-4-22 09:57

上面的命令给的不对(手机上回的,没测过),抱歉,这次测试过了:
find . -name '*.jpg' |xargs -I % convert 拼接最终图.jpg % -append 拼接最终图.jpg

拼接最终图.jpg一开始不需要存在,会自动创建。
解释一下%,这是自定义的:-I 自定义符号,用于find找到的文件名替换命令中的参数。
所以,上面的命令的意思是在当前目录下找到文件名匹配*.jpg的所有文件;然后用这些文件名替换命令 convert 拼接最终图.jpg % -append 拼接最终图.jpg中的%。
也就是说,假设我的当前目录下有001.jpg,002.jpg,003.jpg,那么最终实际上相当于执行了以下命令:
convert 拼接最终图.jpg 001.jpg -append 拼接最终图.jpg
convert 拼接最终图.jpg 002.jpg -append 拼接最终图.jpg
convert 拼接最终图.jpg 003.jpg -append 拼接最终图.jpg

linux40 发表于 2019-4-22 10:15

kumat 发表于 2019-4-22 09:57
上面的命令给的不对(手机上回的,没测过),抱歉,这次测试过了:
find . -name '*.jpg' |xargs -I % conv ...

for i in `find . -name "*.jpg"`; do convert 图.jpg $i --append 图.jpg; done


我就说%在shell里没什么特殊含义的

linjia 发表于 2019-4-22 12:44

页: [1]
查看完整版本: linux下convert命令的疑问