我的文件SQL_INPUT.csv
將具有如下的值(值的數量不一定是3,它將達到300甚至格式將如下)我需要只刪除最後一個逗號刪除文件中的最後一個逗號使用Unix
'YC101692','YE100097','YU102391',
我曾嘗試以下
sed '$ s/,$//' SQL_INPUT.csv
沒有給任何結果(didnt刪除最後一個,
)也試圖
SQL_INPUT.csv | tr -d ",$"
它刪除了所有逗號
我的文件SQL_INPUT.csv
將具有如下的值(值的數量不一定是3,它將達到300甚至格式將如下)我需要只刪除最後一個逗號刪除文件中的最後一個逗號使用Unix
'YC101692','YE100097','YU102391',
我曾嘗試以下
sed '$ s/,$//' SQL_INPUT.csv
沒有給任何結果(didnt刪除最後一個,
)也試圖
SQL_INPUT.csv | tr -d ",$"
它刪除了所有逗號
你試圖使用sed似乎幾乎是正確的。我想說下面應該做的伎倆:
sed s/,$// SQL_INPUT.csv
另外,如果你認爲可能有以下最後一個逗號,你可以改變上述命令,以這樣的空間:
sed 's/, *$//' SQL_INPUT.csv
我試過上面的但沒有得到任何結果。我是否做錯了 bash-3.2 $ sed s /,$ // SQL_INPUT.csv | echo bash-3.2 $ – user3116123
如果文件具有DOS行結束符,請使用's /,[[:space:]] * $ //' –
@ user3116123您的註釋類似於'sed s /,$ // SQL_INPUT .csv |回聲',這將打印一個空行,因爲'| echo'。所以放下,只做'sed s /,$ // SQL_INPUT.csv',它應該可以工作。 – janos
這裏是一種awk
awk '{sub(/,$/,x)}1' SQL_INPUT.csv
'YC101692','YE100097','YU102391'
我得到了下面的錯誤 的bash-3.2 $的awk '{子(/,$ /,X)} 1' SQL_INPUT.csv AWK:近語法錯誤行1 AWK:語法:近線1 AWK非法聲明第1行附近出錯 awk:在第1行附近跳出 – user3116123
在我的系統中'awk'沒有錯誤,並且沒有特殊的突發事件使它不兼容。你在什麼操作系統上。 – Jotne
是Windows生成的文件,請嘗試以下:
dos2unix SQL_INPUT.csv SQL_INPUT.csv
sed '$ s/,$//' SQL_INPUT.csv
我們正在使用SUNOS – user3116123
你可以在你的文章中粘貼這個輸出:'head -n 1 SQL_INPUT.csv | hexdump -C' – janos
'tr'根本不使用正則表達式,它只是處理*字符集* –