Shell-Script
交換 CSV 文件中的第一列和第二列
我正在使用 bash。我有一個 CSV 文件,其中包含兩列數據,大致如下所示
num_logins,day 253,2016-07-01 127,2016-07-02
我想交換第一列和第二列(使日期列成為第一列)。所以我嘗試了這個
awk ' { t = $1; $1 = $2; $2 = t; print; } ' /tmp/2016_logins.csv
但是,結果輸出相同。為了讓事情正確切換,我在上面的 awk 語句中遺漏了什麼?
幹得好:
awk -F, '{ print $2 "," $1 }' sampleData.csv
因為預設分隔符是空格/製表符。不是逗號。獲取您的原始程式碼並添加
-F,
解決它。$ awk -F, ' { t = $1; $1 = $2; $2 = t; print; } ' /tmp/2016_logins.csv day num_logins 2016-07-01 253 2016-07-02 127 $
剝離它
{$0=$2" "$1}1
得到相同的結果。$ awk -F, '{$0=$2" "$1}1' /tmp/2016_logins.csv day num_logins 2016-07-01 253 2016-07-02 127 $