sedの交換

sedの交換

次の文字列があります。

/test/test/ 12 /test/test

私の目標は、これを次のように変更することです。

/test/est/ 12 /test/test

これはコマンドです:

echo "$x" | sed 's@\(/*/\).@\1@g'"

私は今使用していますが、「/」の2番目のインスタンスの代わりにどこにでも適用されます。

ベストアンサー1

Steeldriverが述べたように、GNU sedを使用すると、どのアイテムを交換する必要があるのか​​がわかります。たとえば、次のようになります。

echo "/test/test/ 12 /test/test" | sed -n -e  's_/._/_2 p' 

この機能が利用できない場合は、次のように書くこともできます。

echo "/test/test/ 12 /test/test" | sed -n -r -e  's_(/[a-z]([a-z]+))\1_\1/\2_ p'

サージ:http://www.grymoire.com/Unix/Sed.html[パターンの一部を保存するには\ 1を使用してください。]

おすすめ記事