Я хочу написать сценарий оболочки для следующего сценария. у меня есть запись
"apple""banana""pineapple"
И я хотел бы, чтобы каждая строка была в двойных кавычках и разделена запятой, например:
"apple","banana","pineapple"
Я хочу написать сценарий оболочки для следующего сценария. у меня есть запись
"apple""banana""pineapple"
И я хотел бы, чтобы каждая строка была в двойных кавычках и разделена запятой, например:
"apple","banana","pineapple"
Вы можете попробовать это
sed 's/""/","/g'
user@host:~$ echo '"apple""banana""pineapple"' | sed 's/""/","/g'
"apple","banana","pineapple"
этот однострочный awk должен работать для данного примера:
awk -F'""' -v OFS='","' '$1=$1'
$1=$1
, оценивающее истинное условие, если у вас нет конкретной цели и вы не понимаете предостережения - всегда используйте {$1=$1}1
вместо этого по умолчанию. @RohanShah - уточните свой комментарий и отредактируйте свой вопрос, чтобы показать случай, когда текущие ответы не делают то, что вы хотите.
- person Ed Morton; 24.07.2016
"a","b","c","d","e",""
.
- person Kent; 25.07.2016
$1=$1
не будет печатать вывод, если у вас пусто или 0
в $1
, я признаю, что я был ленив и проверил только данный пример. {$1=$1}1
должно работать, как сказал Эд, если у вас пустое $1
- person Kent; 26.07.2016