gpg2 -se --passphrase yourpassword --batch --yes -r user@example.com filename
Используйте функцию gsub ()
для глобальной подстановки
$ awk '{gsub(/\"/,"")};1' input.csv
1,2,3,4,9
1,2,3,6,24
1,2,6,8,28
1,2,4,6,30
Чтобы отправить вывод в новый файл, используйте оболочку >
operator:
awk '{gsub(/\"/,"")};1' input.csv > output.csv
Также можно использовать подход разделения на массивы, хотя в этом нет необходимости, но вы можете использовать его так:
$ awk '{split($0,a,"\""); print a[2]}' input.cvs
1,2,3,4,9
1,2,3,6,24
1,2,6,8,28
1,2,4,6,30
Обратите внимание, что в этом конкретном вопросе общий шаблон заключается в том, что кавычки находятся в начале и конце строка, что означает, что мы также можем рассматривать это как разделитель полей, где поле 1 имеет значение NULL, поле 2 равно 1,2,3,4
, а поле 3 также равно NULL. Таким образом, мы можем сделать:
awk -F '\"' '{print $2}' input.csv
И мы также можем извлечь подстроку из всей строки:
awk '{print substr($0,2,length($0)-2)}' quoted.csv
Говоря об удалении первого и последнего символов, есть целая статья в stackoverflow об этом с другими инструментами, такими как как sed
и оболочка POSIX.
Вы можете использовать эту команду
awk '{gsub("\"",RS);print}' a.csv > b.csv