比较来自世界各地的卖家的域名和 IT 服务价格

替换控制符号 sed

我需要替换控制符号的所有条目 CTRL+A /SOH/ascii 1/ 在文本文件中 linux, 怎么可以实现 SED?
已邀请:

窦买办

赞同来自:

尝试:


sed 's/^A/foo/g' file


使用

Ctrl

+

V

+

A

创建序列
^A

在上面的团队中。

奔跑吧少年

赞同来自:

这可以通过
cat

通过
-v

/相等的
--show-nonprinting

/ 并通过它
sed

/.

如果控制符号是标题的开头 /SOH/ 象征 /CTRL+A / ASCII 1/, 我们希望用列表替换它,我们将执行以下操作:


cat -v file | sed 's/\^A/\t/g' > out



cat -v

替换符号 SOH 在 ^A, 然后将其进行比较和更换
sed

.

詹大官人

赞同来自:

经过 "replace", 我猜你想改变文件 'in-place'.

使用 GNU sed:


# Create a file with a single control character /SOH/
echo -e "\x01" > file
# Change SOH control characters to the literal string "SOH"
sed -i 's/\x01/SOH/g' file
# Check result
cat file


给...


SOH


选项
-i

不起作用B. OS X sed, 因此,你将不得不绕过它,通过 sed 在临时文件中。

龙天

赞同来自:

你想更换什么? 如果替换是一个字符,那么
tr

- 最好的选择
sed

. 替换这封信 'a':


tr '\1' a < input-file > tmp && mv tmp input-file

诸葛浮云

赞同来自:

您可以使用该命令 tr

tr-s '\001' ' / ' newfile

tr-s "word or delimiter" 想要更换 "word or delimiter" newfile

要回复问题请先登录注册