sedにはサフィックスのないファイルが含まれています。

sedにはサフィックスのないファイルが含まれています。

私のsedコマンドはサフィックスのないファイルを除外しているようです

sed -i.bak 's>/media/colic/>/media/>g' *.*

「filename.sh」は含まれますが、「filename」は含まれません。

sed -i.bak 's>/media/colic/>/media/>g' *

sed helpを表示すると助けが必要であることを意味します。 (したがって、この質問があります。)

sed -i.bak 's>/media/colic/>/media/>g' '*'

ファイルが見つからないことを伝えます

推測を続けるかもしれませんが、私が理解していないことが何であるかを尋ねる方が良いと思いました。

答え1

*.*コマンドの後の文字列は、正規表現ではなくワイルドカードパターンです。似ているようですが、そうではありません。たとえば、正規.表現では「すべての文字」を意味しますが、.ワイルドカードパターンでは「リテラル」を意味します。?正規表現の「すべての文字」と同じです。

したがって、コマンドラインで次のことを行います。

  1. *.*= 文字で囲まれた「.」を含むファイル名、
  2. *=現在のディレクトリ内のすべてのファイルと
  3. '*'=リテラル名はです*

上で「ファイル」と言うと、ディレクトリが含まれます。構文の詳細については、Googleの「ワイルドカードパターン」を使用してください。

関連情報