
Итак, у меня есть текст в файле, который почти представляет формат CSV, но не полностью. Я хочу превратить его в файл CSV.
У меня, например, есть:
cuz,0,1,2,3,-4,abc,a b c,0
Как я могу превратить это в
"cuz",0,1,2,3,-4,"abc","a b c",0
Любая помощь будет оценена по достоинству!
Заранее спасибо.
решение1
таращитьсяподход:
gawk -i inplace -F, '{for(i=1;i<=NF;i++){
if ($i!~/^-?[0-9]*$/) $i=sprintf("\"%s\"",$i); }}1' OFS=',' file
Содержимое file
:
"cuz",0,1,2,3,-4,"abc","a b c",0
-i inplace
- позволяетна местемодификация файла
$i!~/^-?[0-9]*$/
- шаблон соответствует только полю, содержащему символы, кроме цифр