我寫一個bash腳本,需要這個文件:如何更換一個逗號的最後出現
Chicago
Indianapolis
Denver
Miami
,並把它變成這樣:
[
'chicago',
'indianapolis',
'denver',
'miami',
]
的問題是,這是一個JavaScript數組,我需要從最後一行刪除最後一個逗號。我試圖跟蹤的最後一行,並與sed的這樣的替換它:
lastline=1
echo [ > cities_array.txt
while IFS=$'\n' read -r line || [[ -n "$line" ]]; do
city=$(echo $line | sed -e 's/\([A-Z]\)/\l\1/')
echo ' '$city',' >> cities_array.txt
let lastline++
done < cities.txt
echo ] >> cities_array.txt
sed -e "$lastline"'s/,//' cities_array.txt > cities_array.txt
最後一行寫道:絕對沒有任何文件,刪除一切。我也試過:
sed -e '"$lastline"s/,//' cities_array.txt > cities_array.txt
sed -e '$lastlines/,//' cities_array.txt > cities_array.txt
這些工作都沒有。我應該怎麼做?
它的工作原理只是刪除第二個到最後一個字符? – ckersch
我很好,只需刪除倒數第二個字符。 –
我相信你有使用'bash'的理由,但是真的覺得使用支持'JSON'的語言會更容易和更乾淨。只需將文件行讀入數組,將數組序列化爲'JSON',並將其保存迴文件。 –