我想从某种文本(ulysses iii iCloud Text.txt 文件)中提取降价。编辑器用“OBJECT REPLACEMENT CHARACTER”替换了所有方括号,0xEF 0xBF 0xBC (efbfbc)
我想撤消这个操作。
如何用“[”替换所有奇数事件,用“]”替换所有其他事件。
编辑:
例如,我想替换每次出现的x
to[
或]
:
Some xlinkx
->Some [link]
我想从某种文本(ulysses iii iCloud Text.txt 文件)中提取降价。编辑器用“OBJECT REPLACEMENT CHARACTER”替换了所有方括号,0xEF 0xBF 0xBC (efbfbc)
我想撤消这个操作。
如何用“[”替换所有奇数事件,用“]”替换所有其他事件。
编辑:
例如,我想替换每次出现的x
to[
或]
:
Some xlinkx
->Some [link]
您可以将sed
其用于您的目的。使用sed -i
它将编辑文件进行所需的更改。file.bak
为正在使用的原始文件创建备份sed -i.bak
。该表达式将要求您将要替换的字符放在变量中char
(例如char=x
在您的示例中)。然后以下内容将替换所有出现的x..stuff..x
with [..stuff..]
:
sed -i "s/\(^.*\)\b$char\([^$char]*\)$char\b\(.*$\)/\1[\2]\3/g" filename
例子:
$ char=x; echo "Some xlinkx" | sed -e "s/\(^.*\)\b$char\([^$char]*\)$char\b\(.*$\)/\1[\2]\3/g"
Some [link]
该表达式利用单词边界 \b
来控制表达式开头和结尾的匹配,以确保第一次出现被替换,[
第二次被替换]
。