是否可以在文件中使用一些linux工具更改行,如下所示:
是:
status:<whatever>
成为:
status:"red"
UPDATE 最好的解决方案:
awk 'BEGIN{FS=OFS=":"} $1 ~ /status/ {$2="\"red\""}1' file
这将打印输出,我们可以将其重定向到文件或其他任何内容。
答案 0 :(得分:1)
如果您的Input_file与显示的示例相同,那么以下内容可能对您有帮助。
echo "status:<whatever>" | sed 's/\(.*:\)\(.*\)/\1"red"/g'
答案 1 :(得分:1)
使用GNU sed:
sed -E 's/^(status:).*/\1"red"/' file
使用字符串:
s="red"
sed -E 's/^(status:).*/\1"'"${s//\//}"'"/' file
如果您要“就地”修改文件,请使用sed的选项-i
。
答案 2 :(得分:1)
sed
is the Stream EDitor,其目的是编辑文本流,而不是文本文件。这真的是错误的工具。您应该使用text file editor such as ed
代替:
post_id