如何使用SED编辑Linux文件中的特殊字符?

时间:2018-07-06 12:06:45

标签: awk sed

文件名:File.txt 内容:

Vignesh Mani Bani Ravi

结果应该附带

"Vignesh", "Mani", "Bani", "Ravi"

有人可以帮助我如何获得预期的结果吗?

我已经尝试过此命令。

 sed -e 's/^ /" ",/g' File.txt

不起作用。请告诉我。

4 个答案:

答案 0 :(得分:2)

with open('files.txt', 'w+') as file1:
    #Perform actions here

答案 1 :(得分:2)

第一个解决方案: :如果您的实际Input_file与所示示例相同,那么以下内容可能会对您有所帮助。

awk -v s1='"' -v s2=',' '{gsub(/ /,s1 s2 OFS s1);gsub(/^|$/,s1)} 1' Input_file

第二个解决方案:

awk -v s1='"' 'BEGIN{OFS=s1", "s1} {gsub(/^|$/,s1);$1=$1} 1' Input_file

答案 2 :(得分:0)

我会用awk做到这一点:

awk -v OFS=", " -v q='"' '{for(i=1;i<=NF;i++)$i=q $i q}7' file

答案 3 :(得分:0)

这可能对您有用(GNU sed):

sed 's/\S\+/"&"/g;s/\s\+/, /g' file

用双引号括住非空格。用逗号后跟空格替换每组空白。