awk - 列の17桁より大きい数字を-に置き換えます。

awk - 列の17桁より大きい数字を-に置き換えます。

UTCタイムスタンプ値を含むCSVファイルがあります-

たとえば、次はCSVファイルの列です。

+1234|2|12|1|1|1537820114232192380|0  +1234|2|12|1|1|1537820113262689150|0

出力は次のようになります。

+1234|2|12|1|1|-|0  +1234|2|12|1|1|-|0

ベストアンサー1

内部にあるので、filesedを使用する方が高速です。

sed -i 's/[0-9]\{18,\}/-/g' file

この-iオプションを理解すると、ファイルが変更されます。コミットする前に実行された操作を表示するには、削除してください-i

BSDには-i1つのパラメータが必要です-i ''

awkはまた、次のことができます。

<file awk '{gsub("[0-9]{18,}", "-")}1'  >newfile

おすすめ記事