私が反復処理しているディレクトリのファイルにgrep
を使用している文字列が含まれている場合は、bashスクリプトで何かをしようとしています。問題は、ディレクトリ内のファイルのサブセットが名前にスペースを含む場合に発生します。したがって、私はsed
を使用して所定の位置にエスケープスペースでスペースを置き換えるために試してみました:bashスクリプトのスペースをエコーする
if grep -c "main" ${source} | sed 's/ /\\ /g'; then
# do something
fi
しかし、私はまだエラーを取得:
grep: /Users/me/Desktop/theDir/nameWith: No such file or directory
grep: spaces.txt: No such file or directory
は私が間違って何をしているのですか?
'grep -c'は空白を含む出力に何も表示しません。ヒント:数字です。おそらく 'grep -l'を意味していた – anishsane
grepはファイルに' 'main" 'が含まれているかどうかをチェックするためのif条件です –