如何在 bash 中使用“...”定位并缩短长字符串

Ari*_*her 0 shell bash string shell-script

我正在做一些网络开发,并在控制台中打印一些对象数据。我想要定位输出中表示为dataURI: DFASDFKAJELKJDFSADFMLAKFJLSKDJFAJSDFL超长字符串的一个属性/字段,并将其缩短,然后在 25 个字符处附加省略号。是否有 .bashrc 脚本或命令?我不想在整个输出上得到省略号,而只是在字段上得到dataURI省略号。

Sha*_*awn 5

你可以使用

printf "%.25s...\n" "dataURI: DFASDFKAJELKJDFSADFMLAKFJLSKDJFAJSDFL"
Run Code Online (Sandbox Code Playgroud)

或者您可以使用参数扩展:

echo "${yourvar:0:25}..."
Run Code Online (Sandbox Code Playgroud)

尽管对于这两种情况,如果您的字符串短于 25 个字符,它仍然会包含省略号。

  • @ArielFrischer ...那么到底为什么这个标签是 bash、shell 和 shell 脚本? (3认同)