小编jag*_*og5的帖子

Bash 删除直到 null

我正在尝试删除输入流中直到并包括第一个空字符的所有字符。

我已经尝试过这个,其中:

  1. 使用 echo 创建包含两行的输入。每行中间都有一个 0。
  2. 使用translate 将 0 转换为 null。现在我们有两行,中间都有空。
  3. 使用 cut (尝试的解决方案)
  4. 使用od查看输出
$ echo $'ab012\nab012' | tr '0' '\0' | cut -f2- -d '' | od -An -t uC
  49  50  10  49  50  10
Run Code Online (Sandbox Code Playgroud)

od 的输出为:1, 2, \n, 1, 2, \n。

该解决方案是不正确的,因为 cut 将此操作应用于每一行,而不是仅从头开始。正确的输出应该是:1, 2, \n, a, b, \0, 1, 2, \n。

我该如何实现这一目标?

bash null pipe delimiter

3
推荐指数
1
解决办法
79
查看次数

标签 统计

bash ×1

delimiter ×1

null ×1

pipe ×1