Skip to content

antony@notes:~/misc$ cat "不要小數點.md"

不要小數點

2022-07-15· misc

不要小數點

檢視原始資料檔

$ cat carGPS.csv
54964354,2021-04-05 15:52:16.0000000,25.1399694,121.8019056,28429,0
54964354,2021-04-05 15:52:19.0000000,25.1399694,121.8019056,28429,0

程式解析

#!/bin/bash

while read line
do
  a=$(echo $line | cut -d "," -f 2 | cut -d " " -f 2 | cut -d "." -f 1)
  b=$(echo $line | cut -d "," -f 2 | cut -d " " -f 2)
  sed -i "s/${b}/${a}/g" carGPS.csv
done < carGPS.csv
  • #!/bin/bash 宣告這支程式由 bash ( 重裝貝殼執行 )
  • 程式一開始會先去 done 後面,讀取檔案後再逐行跑迴圈處理
  • while 結合read 的語法,先讀檔(每次會只讀一行)後,再跑迴圈。
  • sed -i <file_name> 編輯檔案
    • s/${b}/${a}/ | 變數 a 取代 變數 b
    • g | g 後面不加數字,代表全部取代

執行結果

$ cat carGPS.csv
54964354,2021-04-05 15:52:16,25.1399694,121.8019056,28429,0
54964354,2021-04-05 15:52:19,25.1399694,121.8019056,28429,0