gpt4 book ai didi

linux - 如何使用 `cut` 删除最后一个 CR 字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:59 27 4
gpt4 key购买 nike

我想使用cut 获取字符串的一部分。这是一个虚拟的例子:

$ echo "foobar" | cut -c1-3 | hexdump -C
00000000 66 6f 6f 0a |foo.|
00000004

注意在末尾添加的 \n 字符。

在这种情况下,没有必要使用 cut 删除最后一个字符,如下所示:

echo "foobar" | cut -c1-3 | rev | cut -c 1- | rev

我仍然会得到这个额外的和不需要的字符,我想避免使用额外的命令,例如:

shasum file | cut -c1-16 | perl -pe chomp

最佳答案

\necho 添加。相反,使用 printf:

$ echo "foobar" | od -c
0000000 f o o b a r \n
0000007
$ printf "foobar" | od -c
0000000 f o o b a r
0000006

有趣的是cut本身也加了一行:

$ printf "foobar" | cut -b1-3 | od -c
0000000 f o o \n
0000004

所以解决方案似乎在其输出中使用了 printf:

$ printf "%s" $(cut -b1-3  <<< "foobar") | od -c
0000000 f o o
0000003

关于linux - 如何使用 `cut` 删除最后一个 CR 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36621909/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com