所以我有一个带字符的长行,例如一行中的数字[1-1024](没有“\ n”,“\ t”和“\ b”):
1 2 3 4 5 6 7 8 9 10 11 ... 1024
如何在46之后提取和打印字符,例如正好55个字符?所以输出将是:
47 48 49 ... 101
感谢。
答案 0 :(得分:3)
这将查找字符串“Galeon-2b”并输出接下来的55个字符。
sed -n 's/.*Galeon-2b\(.\{55\}\).*/\1/p' backup.sql
答案 1 :(得分:1)
您可以使用cut
实用程序。对于您的示例,以下命令将起作用。
cut -f 47-101 -d " " file_with_long_line
您还可以指定字节或字符位置,或更改分隔符字符串,具体取决于您的输入。
答案 2 :(得分:0)
为什么不使用cut
?
cut -d ' ' -f 46-101
答案 3 :(得分:0)
如果你真的想使用awk而不是cut,你可以设置RS =“”,并从那里相对正常地处理,每个数字作为一个单独的记录,就像它本身在一条线上一样。