我想知道是否有办法像 sed 对行一样按数字获取文本段落(源文件将是 pyx 文件)
sed -n ${i}p
此时我有兴趣将 awk 用于:
awk '/custom-pyx-tag\(/,/\)custom-pyx-tag/'
但我找不到有关此的文档或示例。
我也试图用 gsub(/\r\n/,"; ") int 相同的 awk 命令修剪 "\r\n",但它不起作用,我真的不知道为什么。
任何提示将不胜感激,谢谢
编辑:
这只是一个例子,并不是我的确切需要,但我需要知道如何为一个多用途项目做这件事
假设我已经导出了大量音频文件的 ID3Tags,并且这些文件以类似 pyx 的格式存储,所以最后我将有一个很好的大文件,这个模式对集合中的每个文件重复:
audio-genre(
blablabla
)audio-genre
audio-artist(
bla.blabla
)audio-artist
audio album(
bla-bla-bla
)audio-album
audio-track-num(
0x
)audio-track-num
audio-track-title(
bla.bla-bla
)audio-track-title
audio-lyrics(
blablablablabla
bla.bla.bla.bla
blah-blah-blah
blabla-blabla
)audio-lyrics
...
现在,如果我想提取第 1234 个音频文件的艺术家,我可以使用:
awk '/audio-artist\(/, /)audio-artist/' | sed '/audio-artist/d' | sed -n 1234p
所以作为一行可以用 sed 获得,但我不知道如何在给定索引的情况下获得整个段落,例如,如果我想获得第 6543 个文件的歌词,我该怎么做?
最后只是一个问题,是否有一个命令相当于
sed -n $ {num} p
但用于段落