带有管道和标准输入的 Bash 子字符串

标签 bash

我的目标是将命令的输出减少到任意数量的字符(让我们使用 6)。我希望能够将此命令附加到管道的末尾,因此它应该能够只使用标准输入。

echo "1234567890" | your command here 
# desired output: 123456

我查看了 awk,我还注意到 bash 有一个 substr 命令,但是我提出的两个解决方案似乎都比需要的要长我无法摆脱这样一种感觉,我错过了一些更容易的事情。

我会发布我找到的两个解决方案作为答案,欢迎任何批评和新的解决方案!


找到解决方案,感谢所有回答的人!

它在 jcollado 和 Mithrandir 之间很接近 - 我将来可能会同时使用两者。 Mithrandir 的答案是一个实际的子字符串,并且更容易查看结果,但 jcollado 的答案让我可以将它通过管道传输到剪贴板,而不会妨碍任何 EOL 字符。

最佳答案

你想要这样的东西吗:

echo "1234567890" | cut -b 1-6

关于带有管道和标准输入的 Bash 子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8809411/

相关文章:

bash - gnuplot 直方图 : line 0: Too many columns in using specification

bash - 如何从每个文本行中提取电话号码和 Pin 图

bash - 使用 awk 在日志文件中将日期转换为 unix 纪元

bash - 逐行读取文件时,我只能在第一行执行 ffmpeg

bash - 使用 shell 脚本合并 txt 文件的行

linux - 终止 MySQLd session 以返回命令提示符

linux - Shell 脚本 find cmin 在目录而不是文件上求值

regex - 将文件夹中的所有图像移动到子文件夹,并将文本文件中对这些图像的所有引用更新到它们的新位置?

配置: error: C compiler cannot create executables (macOS: Big Sur)

bash - 我可以在 bash 脚本中间运行 'su' 吗?