我想把所有的行都打印出来,直到找到匹配的新行
文件:
[`odbcname`]
Driver = /`usr`/lib/`odbc`/`libmyodbc.so`
Description = `MyODBC`3.51 Driver `DSN`
SERVER = my.database.server.com
PORT =
[`MSSQLTestServer`]
Driver = `FreeTDS`
输出:
[`odbcname`]
Driver = /`usr`/lib/`odbc`/`libmyodbc.so`
Description = `MyODBC` 3.51 Driver `DSN`
SERVER = my.database.server.com
PORT =
我试过了
cat grep '^\[odbcname]|^$'`
但我不知道如何打印所有行,直到空白。
最佳答案
$ awk -v RS= '/\[odbcname\]/' file
[odbcname]
Driver = /usr/lib/odbc/libmyodbc.so
Description = MyODBC3.51 Driver DSN
SERVER = my.database.server.com
PORT =
将记录分隔符设置为段落模式(即一个或多个空行),找到模式(并打印)。
关于linux - 如何在给定单词匹配后打印所有行,直到换行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39729502/