linux - 在 Linux 中的同一文件中执行某些操作后需要添加换行符

标签 linux awk sed grep

我想在同一文件执行任务后给出新行。

输入:sample.txt

Hi   
Hello  
I am 
back

i am After new line  
you unable to get me.

..Sample_end.....

我 grep 这个单词从 Hi 开始,以空格结束,我还想在同一个文件中打印 grep 单词,并以换行符开头。

输出:sample.txt

Hi   
Hello  
I am 
back

i am After new line  
you unable to get me


Hi  
Hello  
I am   
back

最佳答案

像这样吗?

    $ awk 'BEGIN {print ""} /Hi/,/^$/' file >> file
    $ cat file
    Hi
    Hello
    I am
    back

    i am After new line
    you unable to get me.

    Hi
    Hello
    I am
    back

它首先将换行符附加到file (BEGIN {print}),然后在Hi和空记录(^$)之间填充。显然 grep 不会仅通过使用 grep ... file >> file 附加到源文件。

关于linux - 在 Linux 中的同一文件中执行某些操作后需要添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39745363/

相关文章:

linux - 将第 n+1 行的列合并到第 n 行

regex - 使用 sed 转义单引号和双引号。 geed, 查找, xargs

regex - 计算包含模式的行数

Linux - Git Credentials - 如何删除用户名/密码组合的实例?

linux - Linux 中的 std.net.curl 链接器错误

linux - 从打印输出中的特定列中剪切部分元素

regex - 通过两个文本文件中的特定模式获取差异文件

php - 我如何使用 PHP 运行 cron 作业?

c - 为什么我的 bison/flex 没有按预期工作?

linux - 从制表符分隔的文件中获取值