需要 sed 脚本帮助来替换文本文件中的特定单词

Maf*_*fsi 1 sed shell-script text-processing

我正在尝试使用sed或任何其他合适的 Unix 工具自动执行罗马尼亚语文本的特定文本替换任务。这是我的要求:

\n
    \n
  1. 将字母的所有实例替换\xc3\xa2\xc3\xae内部单词。
  2. \n
  3. 其词根为“rom\xc3\xa2n”的单词(如“Rom\xc3\xa2neasc\xc4\x83”、“rom\xc3\xa2ne\xc8\x99te”等)应保持不变。
  4. \n
  5. 单词“sunt”应替换为“s\xc3\xaent”。
  6. \n
\n

例如:

\n

输入:

\n
p\xc3\xa2n\xc4\x83\n\xc3\xaemp\xc4\x83m\xc3\xa2ntenit\nrom\xc3\xa2n\nRom\xc3\xa2neasc\xc4\x83\nsunt\ncuget\xc3\xa2nd\n
Run Code Online (Sandbox Code Playgroud)\n

预期输出:

\n
p\xc3\xaen\xc4\x83\n\xc3\xaemp\xc4\x83m\xc3\xaentenit\nrom\xc3\xa2n\nRom\xc3\xa2neasc\xc4\x83\ns\xc3\xaent\ncuget\xc3\xaend\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试了几个sed脚本,但没有一个能够同时满足所有要求。有人可以指导我吗?我将不胜感激任何帮助或建议!

\n

Phi*_*pos 5

正如你所描述的那样,

\n
sed '/[rR]om\xc3\xa2n/!s/\xc3\xa2/\xc3\xae/g;s/sunt/s\xc3\xaent/g'\n
Run Code Online (Sandbox Code Playgroud)\n

将完成以下工作:

\n
    \n
  • s/\xc3\xa2/\xc3\xae/gubstiture是否s所有(g局部)出现\xc3\xa2with\xc3\xae
  • \n
  • “地址”/[rR]om\xc3\xa2n/被 反转!,因此以下命令将不适用于包含该模式的行
  • \n
  • s/sunt/s\xc3\xaent/g最后取代了该词,也作为成分的一部分
  • \n
\n

注意:在您的示例中,\xc4\x83也会被替换。如果这是需要的,你需要

\n
sed '/[rR]om\xc3\xa2n/!s/[\xc3\xa2\xc4\x83]/\xc3\xae/g;s/sunt/s\xc3\xaent/g'\n
Run Code Online (Sandbox Code Playgroud)\n