[Linux]大量ファイルの削除・コピー方法(xargs編)

カテゴリ:

大量ファイルをコピーしたり、tarで固めたり、
削除したりするときの方法です。

例えば、ls * としたときに * で展開できる
ファイル名の長さは制限があります。(確か128バイト)

<エラー例>

# ls *
bash: /bin/ls: 引数リストが長すぎます

lsだけでなく cp * , rm * もできなくなります。

そこで xargs を利用します。
例えばOracleの監査ファイル *.aud の削除などに。

方法は以下のとおりです。

■削除

find ${ORACLE_BASE}/admin/bdump -name '*.aud' | xargs /bin/rm -f

■コピー

find ${ORACLE_BASE}/admin/bdump -name '*.aud' | xargs -i% /bin/cp -fp % /backup/

cpのようにfindの内容をコマンドの途中に挿入したい場合は、
-iで挿入文字列を指定し、指定した文字列を挿入したい場所に
記述します(上記の例だと%)。

Twitter

購読

New Comment

Tag Cloud

広告

広告

Calendar