当前位置: 首页 > 面试题库 >

替换sed中的控制字符

公子昂
2023-03-14
问题内容

我需要替换Linux文本文件中所有出现的控制字符CTRL + A(SOH / ascii 1),如何在SED中实现呢?


问题答案:

可以cat使用-v(等同于--show-nonprinting选项并将其通过管道传递到sed)完成。

如果控制字符是标题(SOH)字符的开始(CTRL + A / ASCII 1),并且我们希望将其替换为制表符,则可以执行以下操作:

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

cat -v会将SOH字符替换为^ A,然后将其匹配并替换为sed



 类似资料:
  • 问题内容: 我需要替换Java字符串中的所有特殊控制字符。 我想问一下Google Maps API v3,而Google似乎不喜欢这些字符。 例如:http : //www.google.com/maps/api/geocode/json?sensor=false&address=NEW%20YORK%C2%8F 该URL包含以下字符:http : //www.fileformat.info/i

  • 问题内容: 如果我从脚本运行以下命令: 没事。 但是,如果我运行: 我在教程中读到,要从shell替换环境变量,您需要先停止操作,然后对部分进行“引用”,以便不直接替换该部分,这是我所做的,并且仅当该变量在紧接之前定义时才起作用。 我如何被s识别为shell中定义的环境变量? 问题答案: 您的两个示例看起来相同,这使问题难以诊断。潜在问题: 您可能需要双引号,例如 可能包含一个斜杠,在这种情况下,

  • 问题内容: 我对bash / sed没什么问题。我需要能够在sed表达式中使用命令替换。我有两个大文本文件: 首先是logfile.txt, 有时*以 错误ID:0xdeadbeef的格式按ID显示错误消息(常见示例为0xdeadbeef)。 第二个error.txt具有成对存储的错误消息LONG_ERROR_DESCRIPTION,0xdeadbeef 我试图用sed和bash命令替换来完成任务

  • 问题内容: 我想知道如何像某些C / C ++程序那样在Python中创建这些漂亮的控制台计数器之一。 我在做一个循环,当前输出如下: 更整洁的是只更新最后一行; 我已经在许多控制台程序中看到了这一点,并且想知道是否/如何在Python中做到这一点。 问题答案: 一个简单的解决方案是只在字符串之前编写而不添加换行符。如果字符串永远不会变短,那就足够了… 进度条稍微复杂一点……这是我正在使用的东西:

  • 文件txt只有一行: 我想删除110之后的所有数据。我试过了 它不起作用,为什么? 谢谢

  • 假设我们想用它的摩尔斯码替换字母“a”,从text.txt文件到使用sed的隐藏的.out.txt文件,原始文件的内容是“这是一个测试”。 正如预期的那样,输出是“this is.-test”。 但是,假设我们希望执行sed的多个实例,而不需要使用-n参数不断打印sed的每个实例的结果。在这种情况下: 然而,在这种情况下,cat的输出与text.txt的内容相同,“这是一个测试”。 是否有一种可能