この式で「<」と「>」の間のすべての項目を削除する方法を知りたいです。
i`< 1| | 1> -1.0000000000000
結果は次のとおりです。
i-1.00000000
awkを使ってみましたが、「>」の右側部分または部分の左側部分のみを削除できます。
awk -F '>' '{print $2}'
ありがとう
答え1
パイプを介したデータ転送sed
:
... | sed -e 's/<.*>//'
正規表現は" <
"、任意の数の文字、" >
"の順に一致し、それを空の文字列" //
"に置き換えます。
答え2
私は以下を使用しますsed
:
$ echo 'i< 1| | 1> -1.0000000000000' | sed 's/<[^-]*//'
i-1.0000000000000
答え3
一致の前後FS
に正規表現を使用してフィールドを印刷できます。awk
echo 'i< 1| | 1> -1.0000000000000' | awk -F'<[^>]*> *' '{print $1 $2}'
答え4
echo 'i< 1| | 1> -1.0000000000000' |perl -pe 's/<.*>//;s/\s+/ /'
:)