output.log 它不起作用,但如果我使用 per 那么它-6ren">
gpt4 book ai didi

regex - 删除换行符后跟多个选项卡正则表达式

转载 作者:行者123 更新时间:2023-12-05 09:01:09 26 4
gpt4 key购买 nike

我尝试在 sed 中使用以下正则表达式删除换行符后跟带空格的制表符

sed "s|\n[\t|\s]*| |" input.log  > output.log

它不起作用,但如果我使用 per 那么它也会替换所有新行。我只想多次(超过 1 次)用空格替换换行符后跟制表符或空格。

perl -pe '/\n[\t|\s]*/ /' input.log  > output.log

以下链接中的示例数据:

https://regex101.com/r/D9sHjG/1

我想在换行后删除蓝色突出显示的选项卡。 enter image description here

最佳答案

第一个解决方案:sed 中,您可以尝试以下代码。使用 GNU sed-E 选项启用 ERE(扩展正则表达式)及其 -z 选项一次读取整个 Input_file。然后在主程序中使用seds选项进行替换;其中替换换行符后跟制表符/空格,并根据需要的输出仅用新行替换它。

sed -E -z 's~\n[[:blank:]]+~\n~g'  Input_file


第二个解决方案: 在 GNU awk 中将 RS 设置为 null 也有助于进行替换,如下所示:

awk -v RS= '{gsub(/\n[[:blank:]]+/,"\n")} {ORS=RT;print}' Input_file

关于regex - 删除换行符后跟多个选项卡正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74118904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com