2016-04-05 16 views
0

したがって、特定のディレクトリから逆順に一連のファイルをリストする必要があります。問題はディレクトリ内にたくさんのファイルがあることです(ビデオフレーム全体を逆にするためにディレクトリ内のビデオフレームを逆コンパイルしているので)、lsを実行すると、/bin/ls argument list too longというエラーが出ます。このエラーを回避する方法を知りましたか?バイパスls引数の制限

オペレーティングシステム:行っていないのUbuntu 14.04

答えて

1

ls場合、find -type fは通常あなたの友達です(とも問題にエキゾチックなファイル名を避けるために-print0ようなものを使用することができます)。

+0

はい、 '見つける...' 'で|詳細については、xargs commands_to_execute {} '...' man xargs'を参照してください。 ...または '-exec'オプションを' find'にします。皆さんお元気で。 – shellter

+0

'xargs' ...あなたが' -exec ... {} \; 'や' -exec .. {} \ + 'で行えない場合にのみ) – Wrikken

+1

ところで、逆変換できる変換器をもっと見ていますが、それはポイントの横にあります)、名前の一致を引用するのを忘れないでください( 'find -name * .jpg'でも問題は残っていますが、' find -name代わりに '* .jpg')。 – Wrikken

1

私はあなたがイメージの逆ソートされたリストを生成するために

ls -1 -r *.jpg 

のようなものを使用していることを前提としています。 Bashはファイル拡張子(別名グロブ)をソートするので、*.jpgの展開を逆にするだけで同じ効果を得ることができます。これはそれを行うための一つの方法である:

printf '%s\n' *.jpg | tac 

あなたがtacを持っていない場合、あなたは純粋なバッシュでそれをすべて行うことができます。

images=(*.jpg) 
for ((i=${#images[*]}-1 ; i>=0 ; i--)) ; do 
    printf '%s\n' "${images[i]}" 
done 
関連する問題