2016-04-04 25 views
-2

ファイル名の長さを基準としてディレクトリ内の一部のファイルを移動したいとします。ファイル名の長さに基づいてファイルを移動する

たとえば、10文字以上のファイルを移動したいとします。

私はbashスクリプトでifループが必要だと思っていましたが、どうやって進めるのか分かりません。

+1

ループを使用し、http://unix.stackexchange.com/questions/92463/in-bash-how-does-one-determining-the-length-of-filenameを使用します。オンラインでbashのループを検索してください。 –

+1

私は実際にこれらのことをすべて行う方法を知らないのですが、一度に1ステップずつ取り上げましょう。あなたはすでに必要な機能をいくつか知っています。ディレクトリ内のファイルの検索、文字列の長さの取得、比較(/より小さい)、およびファイルの移動を行います。次に、[文字列の長さを見つける](https://stackoverflow.com/questions/17368067/length-of-string-in-bash)の方法を説明します。 'ls'コマンドは、ディレクトリの内容を表示します。' mv 'はファイルを移動するために使用され、' if [some_condition] 'を使用して式を比較/テストすることができます。それを使って、例とマニュアルページを検索してみてください。 – jDo

答えて

2

使用このテンプレート

for f in *; do if [ ${#f} -gt 10 ]; then echo $f; fi; done 

はあなたのmvコマンドでエコーを交換してください。

ディレクトリもリストにあることに注意してください。

関連する問題