不确定这是否可行,但我有一个像这样的值列表:
#value,
#value2,
#value-3
有些人有破折号,最后一行没有逗号。我需要在每个单词周围加上单引号,如下所示:
#'value',
#'value2',
#'value3'
我怎样才能做到这一点?
答案 0 :(得分:1)
这应该这样做:
sed "s/^#\([^,]*\)\(.*\)/#'\1'\2/"
答案 1 :(得分:1)
您可以使用list.txt
。
假设您的列表位于sed "s/^#\([^,]*\)\(,\?\)$/#\'\1\'\2/" < list.txt
#
将如下工作。
它将替换
的每一行^#
开头。在sed中,这写为\([^,]*\)
\(,\?\)
$
#
用一条线
有\`
,撇号\1
,第一个序列\2
,另一个撇号和第二个序列sed "s/^#\([^,]*\)\(,\?\)$/#\'\1\'\2/" <<END
> #value,
> #value2,
> #value-3
> .
> END
#'value',
#'value2',
#'value-3'
.
。
我们走了
{{1}}
答案 2 :(得分:0)
使用awk你可以这样做:
awk 'BEGIN{FS=OFS=","} {$1 = "#\047" substr($1, 2) "\047"} 1' file
#'value',
#'value2',
#'value-3'