空白をアンダースコアと括弧で置き換える場合は、ファイル内の最初の行に何も置き換えないでください(ここでは1を書き留めてください)。sedを使用して文字列を見つけて特定の行に置き換える+ -i.bakを使用する
これは、私が働いているファイルです。
$ head -n 1 head_test.csv
"Rec Open Date","MSISDN","IMEI","Data Volume (Bytes)","Device Manufacturer","Device Model","Product Description"
そして、これは私がSED
$ sed -e '1s/ /_/g' head_test.csv | sed -e '1s/(//g' | sed -e '1s/)//g' | head -n 1
"Rec_Open_Date","MSISDN","IMEI","Data_Volume_Bytes","Device_Manufacturer","Device_Model","Product_Description"
を使用してそれを達成する方法ですが、私は、既存のファイルを上書きする-i.bak
オプションを使用して難しさを持ちます。誰でも-iオプションを使ってどのようにすることができるかアドバイスできます。
への変更を行います| sed -e '1s /(// g' | sed -e '1s /)// g'> tmp && mv tmp head_test_real.csv ' – HattrickNZ