我的目标是将命令的输出减少到任意数量的字符(让我们使用 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/