質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

解決済

2回答

3257閲覧

findコマンドで半角スペースを含むファイル名のファイルを検索したい

sgyeta

総合スコア23

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

0クリップ

投稿2020/06/03 06:26

前提・実現したいこと

あるフォルダ内直下のファイルの中から、拡張子pngのものだけを
探すスクリプトを組んだのですが、中にはファイル名に半角スペースを含むファイルがあり
想定しているようにfindコマンドの出力結果が得られませんでした。
解決方法を調べて試しましたが、解決に至らなかったので、ご教示頂けると幸いです。

発生している問題

検索するディレクトリ直下に
hoge_1.png hoge_2.png hoge_␣3.pngのファイル名の画像がある場合
出力結果が以下のようになってしまいます。

hoge_1.png hoge_2.png hoge_

該当のソースコード

sh

1for file_name in `find "ディレクトリ名" -maxdepth 1 -name '*.png'`; do 2 echo $file_name 3done

期待している動作としては、変数file_nameに
半角スペース込みのファイル名が格納されて欲しいです。

試したこと

こちらを参考に-print0を試してみましたが、出力結果は変わりませんでした。

for file_name in `find "ディレクトリ名" -maxdepth 1 -name '*.png' -print0 | xargs -0`; do

補足情報(FW/ツールのバージョンなど)

OS:MacOS
標準のターミナルで実行しました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

IFS=という行をforの前のどこかに書いてやれば期待した動作をすると思います。
参考:シェルスクリプト-スペースが含まれる文字列を扱う

投稿2020/06/03 06:42

kuuote

総合スコア705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sgyeta

2020/06/03 06:49

ご回答頂きありがとうございます。 試してみたのですが、出力結果は変わりませんでした・・・。
guest

0

ベストアンサー

sh

1find . -name "* *.png"

的なことですか?

投稿2020/06/03 06:36

yambejp

総合スコア116468

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sgyeta

2020/06/03 06:49

ご回答頂きありがとうございます。 試してみたのですが、hoge_のみが出力されるようになってしまいました。
yambejp

2020/06/03 06:59

ls では表示されるのでしょうか? 半角スペースではないのでは?
yambejp

2020/06/03 07:06

find . | perl -nlE 'say if /\s+.*.png$/'
sgyeta

2020/06/03 07:06

すいませんよく確認したら 半角スペースではありませんでした・・・。 大変失礼しました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問