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

使用sed匹配包含换行符的字符串

涂选
2023-03-14
问题内容

我有一个像这样的字符串:

    #
    pap

基本上翻译为a \t#\n\tpap,我想将其替换为:

    #
    pap
    python

转换为\t#\n\tpap\n\tpython

sed很多方法进行了尝试,但是它不起作用可能是因为sed以不同的方式使用了新行。我尝试了:

sed -i "s/\t#\n\tpap/\t#\tpython\n\tpap/" /etc/freeradius/sites-available/default

…以及许多其他方式都没有结果。任何想法在这种情况下如何更换?


问题答案:

使用gawk尝试以下行:

awk -v RS="\0" -v ORS="" '{gsub(/\t#\n\tpap/,"yourNEwString")}7' file

如果要sed 处理新行,则必须先阅读整个文件:

sed ':a;N;$!ba;s/\t#\n\tpap/NewString/g' file


 类似资料:
  • 我在java中有一个包含换行符的字符串。我需要一个正则表达式来匹配任何字符,包括换行符。 这是字符串: 我正在使用此代码(**?) 但它不会匹配换行符。

  • 两行的一个例子是:([a,b,c],d)和([d,e],a)我想把这些行转换成([a,b,c],[d,e])和([d,e],[a,b,c]) dataframe的列名是“src”和“dst”。 我如何处理这个问题?

  • 问题内容: 我必须形成一个JSON字符串,其中一个值具有换行符。必须对此进行转义,然后使用AJAX调用发布。任何人都可以提出一种使用JavaScript对字符串进行转义的方法。我没有使用jQuery。 问题答案: 使用您的JSON及其它。然后使用方法和替换所有出现的用。 编辑: 据我所知,还没有知名的JS库可用于转义字符串中的所有特殊字符。但是,您可以链接方法并替换所有特殊字符,如下所示: 但这很

  • 问题内容: 我想匹配任何不包含字符串“ DontMatchThis”的字符串。 什么是正则表达式? 问题答案: 尝试这个:

  • 问题内容: 我已经使用pg_dump创建了一个sql dump文件。此导出文件包含包含$$字符的函数。使用psql -f <文件名>导入文件没有问题。 如果要使用SQLExec任务使用ant导入文件,则会出现类似以下的异常: 有没有办法导入包含$$的文件? 在postgres日志中,SQLExec任务似乎将$$转换为$,从而导致错误。 错误:字符87处“ $”处或附近的语法错误语句:CREATE

  • 我试图创建一个脚本,用通配符重命名与给定文件名匹配的文件。例如 我有一个包含以下文件的文件夹: 201412180900_filename_123.log 201412181000_filename_123.log 201412181100_filename_456.log filename_789.log 我想扫描这个文件夹,并追加当前时间到任何文件的开头以字'filename'开始 到目前为止