私はfind
次の構造のファイルをターゲットにいくつかのファイルを繰り返すために使用しています。
EDI_2016-03-03_09-45-09_TARGET-TYPE_4830_453a2cbb-b8d4-4982_6549_6116_xazfzeg.PDF
EDI_
目的はmiddleで始まり、埋め込まれたファイルを見つけることですTARGET-TYPE
。 find コマンドは次のようになります。
find . -name "EDI_*_TARGET-TYPE*"
find
ループを使用して出力を使用する予定なので、andを使用したくありませんls
(スペースや検索を含むファイルに問題があります)。
これは働きます:ls EDI_
動作しません:
ls EDI_*_TARGET-TYPE*
これはうまくいきません:
ls "EDI_*_TARGET-TYPE*"
これはうまくいきません:
ls 'EDI_*_TARGET-TYPE*'
なぜそんなのか分からない。find
誰かが私に命令を翻訳することができれば良いでしょう。
答え1
私は何をしますか:
for file in EDI_*_TARGET-TYPE*; do
do_something "$file"
done
答え2
$ touch EDI_2016-03-03_0945-09_TARGET-TYPE_4830_453a2cbb.pdf
$ touch EDI_2016-03-03_0945-09_TARGET-TYPE_4830hhh_453a2cbb.pdf
$ ls EDI_*_TARGET-TYPE*
EDI_2016-03-03_09-45-09_TARGET-TYPE_4830_453a2cbb.pdf
EDI_2016-03-03_09-45-09_TARGET-TYPE_4830hhh_453a2cbb.pdf
私のために動作します。 BashシェルUbuntu最近のLTS。