2016-12-22 2 views
-1

私のホームディレクトリのファイルを新しいディレクトリに移動する必要があります。私は20の大文字のランダムなセットで始まる名前のファイルを選択する必要があります。ランダムセットは、T、A、G、またはCの4つの文字のみで構成されます。検索される名前の可変性と、T、A、Gを満たさない20の連続する大文字からなる名前の存在、またはCのみの要件では、正規表現はここで最善の選択肢のようです。パターンに一致するファイルを新しいディレクトリに移動するためのワンライナー

正規表現を使用しようとしましたが、この1行では機能しません。

find source -name "([TAGC]{20})" -exec mv -i {} -t ~/dst \; 

このような状況のため、この、または類似した、ワンライナーの仕事を作る方法はありますか、私は、スクリプトを記述する必要がありますか?

+0

ようこそで始まるファイル名全体に一致する必要があります!どうしたら、どんなエラーが出るのですか? – TTT

+0

'-name'の代わりに' -regex'を試してください。あなたはフルネームと一致するものが必要ですが、その一部だけではありません。 –

答えて

1

あなたは-regexオプションで試すことができます。

find . -regex ".*/[TAGC]{20}[^/]*$" -exec mv -i {} -t ~/dst \; 
1

正規表現をスタックオーバーフローに./

find . -regextype posix-egrep -regex '\./[TAGC]{20}' -print 
関連する問題