How do I remove the comma from the last line of the file? Here is the file:
# cat ox_data_archive_r_20120727.json
{\"name\": \"secondary_ua\",\"type\":\"STRI
This should work:
sed '$ s/,$//g' input_file
$
selects the last line.You could add -i
and sed
will apply the changes to your input_file
.
The awk answer is certainly more verbose than the sed:
awk 'NR>1 {print prev} {prev=$0} END {sub(/,$/,"", prev); print prev}' file
$ cat input.txt
{"name": "secondary_ua","type":"STRING"},
{"name": "request_ip","type":"STRING"},
{"name": "cb","type":"STRING"},
$ sed '$s/,$//' < input.txt
{"name": "secondary_ua","type":"STRING"},
{"name": "request_ip","type":"STRING"},
{"name": "cb","type":"STRING"}
From the documentation of GNU sed:
$
: This address matches the last line of the last file of input, or the last line of each file when the-i
or-s
options are specified.