我正在编写一个接受此文件的 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
这些都不起作用。我该怎么做?