使用 sed 或 awk 或 grep 从 longline 中提取字符范围?
所以我有1长行字符,例如一行中的数字[1-1024](没有“\n”,“\t”和“\b”):
1 2 3 4 5 6 7 8 9 10 11 ... 1024
我如何提取并打印字符,例如 46 之后的 55 个字符?所以输出将是:
47 48 49 ... 101
谢谢。
So i have a 1 long line with characters, for example numbers[1-1024] in one line(no "\n", "\t" and "\b"):
1 2 3 4 5 6 7 8 9 10 11 ... 1024
How do i extract and print characters for example exactly 55 characters after 46? So output would be:
47 48 49 ... 101
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这将查找字符串“Galeon-2b”并输出接下来的 55 个字符。
This looks for the string "Galeon-2b" and outputs the next 55 characters.
您可以使用
cut
实用程序。对于您的示例,以下命令将起作用。您还可以指定字节或字符位置,或更改分隔符字符串,具体取决于您的输入。
You can use the
cut
utility. For your example, the following command will work.You can also specify byte or character positions, or change the delimiter string, depending on your input.
为什么不使用
cut
?Why not use
cut
?如果你真的想使用 awk 而不是 cut,你可以设置 RS=" ",并从那里相对正常地处理,每个数字作为一个单独的记录,就像它本身在一行上一样。
If you really want to use awk instead of cut, you could set RS=" ", and process relatively normally from there, with each number as a separate record, just like it was on a line by itself.