sedは、左側にゼロで埋められた数字のすべての項目を組み込みのマイナス記号「-」に置き換えて、マイナス記号が左側になるようにします。

sedは、左側にゼロで埋められた数字のすべての項目を組み込みのマイナス記号「-」に置き換えて、マイナス記号が左側になるようにします。

タブ区切りの入力ファイルがあります。一部の数値フィールド値には、値の中央にマイナス記号があります(例:)000-45.123。私は-次のように左側にする必要があります: -00045.123

したがって、タブで区切られた入力ファイルに次のものが含まれている場合:(スペースはタブです)

ABC 000-45.123 0-765.43 DEF 00-54 XYZ

だから私が望む結果は

ABC -00045.123 -0765.43 DEF -0054 XYZ

"-"を含むすべての数値は1つ以上のゼロで始まり、他の文字はありません。

注:利用可能なオプションはありません:sed -rまたはsed -E

ベストアンサー1

GNU sedの使用:

数字とマイナス記号からマイナス記号と数字に順序を変更します。

sed -r 's/([0-9]+)(-)/\2\1/g' file

出力:

ABC -00045.123 -0765.43 DEF -0054 XYZ

望むより:スタックオーバーフロー正規表現に関するよくある質問

おすすめ記事