私にとってsedの使用は本当に珍しいです。私は持っているのに慣れてい's/pattern1/pattern2/g'
ます。
誰かがそれを説明するのを手伝ってもらえますか?
入力文字列は次のようになります。
path1/path2/path3/fileA path1/path2/path3/fileB path1/path2/path3/fileC
出力はfileA fileB fileC
です。
私にとってsedの使用は本当に珍しいです。私は持っているのに慣れてい's/pattern1/pattern2/g'
ます。
誰かがそれを説明するのを手伝ってもらえますか?
入力文字列は次のようになります。
path1/path2/path3/fileA path1/path2/path3/fileB path1/path2/path3/fileC
出力はfileA fileB fileC
です。
これは、区切り記号として「/」の代わりに「,」を使用した代替コマンドです。おそらく、パターンに「/」があるためです。と同等です
s/^.*\///
これは、行頭から最後のスラッシュまですべてを削除することを示しています。
「s」を使用すると、次の文字が区切り文字として使用されます。したがって、次のように書くこともできます
s!^.*/!!
s@^.*/@@
等
別のセパレーターを使用すると、パターン内でセパレーターのインスタンスをエスケープする必要がなくなります。
入力例:
パス1/パス2/パス3/ファイルA
' ^
' は '文字列の先頭から' を意味し、' .*
' は '任意に一致' を意味します。' .*/
' は、'/' が後に続く限り、貪欲に何でも一致させようとします。貪欲なので、それには他のスラッシュも含まれます。一致しpath1/path2/path3/
ます。置換パターンは ''、つまり何もないため、文字列の先頭から最後の '/' までのすべてを効果的に削除し、fileA
TL;DR: 「パス情報を削除し、ファイル名だけを残す」という意味です