最初と最後の文字がある場合は削除

最初と最後の文字がある場合は削除

ファイルの各行から最初の2文字(常に同じ)と最後の「/」(存在する場合)を削除する必要があります。

ファイルF1の入力は以下の通りである。

^./inst/oracle/
^./tmp/
^./inst/maj/
^./mkcd
^./var/adm/ras/livedump/

使用:

cat F1 | sed 's#^\^\.\(.*\)/$#\1#'

私は次のような結果を得ます。

/inst/oracle
/tmp
/inst/maj
^./mkcd
^./var/adm/ras/livedump/

最後に「g」が付いているsedは同じ結果を持ちます。

最後の数行は無視されます。最初の3行の操作を実行してから停止する理由を理解できません。

ベストアンサー1

この試み:

sed 's/\^\.//;s|/$||' file

出力:

/inst/Oracle
/tmp
/inst/maj
/mkcd
/var/adm/ras/livedump

おすすめ記事