我想知道是否有办法删除 bash 中文本文件的某一行之后的所有内容。所以说有一个有 10 行的文本文件,我想删除第 4 行之后的每一行,所以只剩下前 4 行,我该怎么做?
我需要替换这个:
01:05:01:11 --> 01:05:04:07,so you may continue to support us,|bring us health,
$Italic = True
01:05:04:15 --> 01:05:07:09,well-being,
$Italic = False
01:05:07:21 --> 01:05:13:01,and help us to be one big family|and continue working as a team.
Run Code Online (Sandbox Code Playgroud)
基本上成为这样:
1
01:05:01:11 --> 01:05:04:07,so you may continue to support us,|bring us health,
$Italic = True
2
01:05:04:15 --> 01:05:07:09,well-being,
$Italic = False
3
01:05:07:21 --> 01:05:13:01,and help us to be one big family|and continue working as a team.
Run Code Online (Sandbox Code Playgroud)
EDIT_1:这意味着我需要匹配:
' --> ' …Run Code Online (Sandbox Code Playgroud) 我有一个正在维护的 PKGBUILD 文件(用于 AUR)。它有一个值 'pkgrel',在每次构建包之前,我将其加 1(手动)。
总而言之,如果我想第六次构建包,我会手动将值设置为
pkgrel=6
Run Code Online (Sandbox Code Playgroud)
我还为其他进程编写了 bash 脚本。我被困在这里。请指导我如何通过任何 sed/awk 表达式增加 pkgrel 的值。我想要这样,也就是说,我第 7 次构建包,SED/AWK 表达式应该将值设置为 7
pkgrel=7
Run Code Online (Sandbox Code Playgroud)
在我的脚本中运行 makepkg 命令之前。
我不限制对 sed/awk 的回答,如果任何其他方法有效,请指导我。唯一的条件是它应该是 bash。
我有配置文件,我希望匹配特定的行,如"server.port = 5480".保留匹配的第一个删除休息匹配行.例
server.port=5480
server.port=5480
server.port=5480
ssl.engine = "enable"
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
ssl.cipher-list = "FIPS':' +3DES':'!aNULL"
ssl.engine = "enable"
ssl.use-sslv2 = "disable"
server.port=5480
server.port=5480
server.port=5480
server.port=5480
Run Code Online (Sandbox Code Playgroud)
期望的输出只有一行
server.port=5480
ssl.engine = "enable"
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
ssl.cipher-list = "FIPS':' +3DES':'!aNULL"
ssl.engine = "enable"
ssl.use-sslv2 = "disable"
Run Code Online (Sandbox Code Playgroud)
使用sed我想要这个和另外一个这不是序列行可能是变体