0

我想从某种文本(ulysses iii iCloud Text.txt 文件)中提取降价。编辑器用“OBJECT REPLACEMENT CHARACTER”替换了所有方括号,0xEF 0xBF 0xBC (efbfbc)我想撤消这个操作。

如何用“[”替换所有奇数事件,用“]”替换所有其他事件。

编辑:

例如,我想替换每次出现的xto[]

Some xlinkx->Some [link]

4

1 回答 1

1

您可以将sed其用于您的目的。使用sed -i它将编辑文件进行所需的更改。file.bak为正在使用的原始文件创建备份sed -i.bak。该表达式将要求您将要替换的字符放在变量中char(例如char=x在您的示例中)。然后以下内容将替换所有出现的x..stuff..xwith [..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来控制表达式开头和结尾的匹配,以确保第一次出现被替换,[第二次被替换]

于 2014-12-22T09:25:40.543 回答