使用 sed 或 awk 或 grep 从 longline 中提取字符范围?

发布于 2024-09-05 16:20:41 字数 176 浏览 4 评论 0原文

所以我有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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

荒路情人 2024-09-12 16:20:41

这将查找字符串“Galeon-2b”并输出接下来的 55 个字符。

sed -n 's/.*Galeon-2b\(.\{55\}\).*/\1/p' backup.sql

This looks for the string "Galeon-2b" and outputs the next 55 characters.

sed -n 's/.*Galeon-2b\(.\{55\}\).*/\1/p' backup.sql
怀里藏娇 2024-09-12 16:20:41

您可以使用cut实用程序。对于您的示例,以下命令将起作用。

cut -f 47-101 -d " " file_with_long_line

您还可以指定字节或字符位置,或更改分隔符字符串,具体取决于您的输入。

You can use the cut utility. For your example, the following command will work.

cut -f 47-101 -d " " file_with_long_line

You can also specify byte or character positions, or change the delimiter string, depending on your input.

半寸时光 2024-09-12 16:20:41

为什么不使用cut

cut -d ' ' -f 46-101

Why not use cut?

cut -d ' ' -f 46-101
野侃 2024-09-12 16:20:41

如果你真的想使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文