csv文件的第1行的值由逗号分隔,如下所示:
$sci['tphy'][0] // First 'tphy' entry
$sci['tphy'][1] // Second 'tphy' entry
...
$sci['tchem'][0] // First 'tchem' entry
$sci['tchem'][1] // Second 'tchem' entry
...
但需要包含以下引文:
std::cin.get();
我想要一个仅用于解释第1行的命令,并保留文件的其余部分。
答案 0 :(得分:2)
考虑这个测试文件:
$ cat file.csv
word1,word2,word3,word4,word5
12345,12346,12347,12348,12349
仅在第一行的项目周围加上引号:
$ sed '1 { s/^/"/; s/,/","/g; s/$/"/ }' file.csv
"word1","word2","word3","word4","word5"
12345,12346,12347,12348,12349
工作原理
1 { ... }
这告诉sed仅在第1行的大括号中执行命令。
s/^/"/
这会在行的开头加上引号。
s/,/","/g
这将使用quote-comma-quote替换每个逗号。
s/$/"/
这会在行尾添加引号。
答案 1 :(得分:0)
awk 替代方法:
awk -F, 'NR==1{ gsub(/[^,]+/,"\"&\"",$0) }1' file
NR==1
- 仅考虑第一条记录