python argument list too long_[已解决]Argument list too long如何处理?
Argument list too long 本質(zhì)是需要處理的長(zhǎng)度超過系統(tǒng)的長(zhǎng)度,因此無法執(zhí)行相關(guān)命令。
經(jīng)過搜索發(fā)現(xiàn)了兩種方法,思想都是將參數(shù)切分成小的段落進(jìn)行執(zhí)行。
法一:通過xargs傳遞參數(shù) (數(shù)據(jù)量大了還是不太奏效)
find . -name "*.log" | xargs -0 rm
ls | xargs -t -I {} mv {} ../matchres/ 可以把當(dāng)前目錄下的所有文件移到 "../matchres"下
ls | head -n 50 |xargs -t -I {} mv {} ../ 可以把當(dāng)前目錄中的前50個(gè)移動(dòng)到上級(jí)目錄
合并201301目錄文件到 hbtmp/bill201301.txt
cd 201301/
ls | xargs -t -I {} cat {} >> ../hbtmp/bill201301.txt
xargs使用的命令一次會(huì)被調(diào)用2000?4000次左右,因此,如果列出的日志有一萬筆的話,可能就會(huì)被分成3到5次左右來執(zhí)行,因而避開了。
find -maxdepth 1 -type f \( -exec grep -q '^- ' {} \; -o -print \)
maxdepth 深度
type 文件類型
法二:shell腳本循環(huán)執(zhí)行rm命令
#!/bin/bash
# 設(shè)定需要?jiǎng)h除的文件夾
RM_DIR='/var/spool/clientmqueue'
cd $RM_DIR
for I in `ls`
do
rm -f $I
done
一行表達(dá)式:
for f in *.pdf; do rm "$f"; done
法三:將文件群手動(dòng)劃分為比較小的組合
mv [a-l]* ../foo2
mv [m-z]* ../foo2
總結(jié)
以上是生活随笔為你收集整理的python argument list too long_[已解决]Argument list too long如何处理?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改字段类型_PostgreSQL 关
- 下一篇: 写接口是什么意思啊_科普贴:果汁包装上写