我的目标是将命令的输出减少到任意数量的字符(让我们使用6).我希望能够将此命令附加到管道的末尾,因此它应该能够只使用stdin.
echo "1234567890" | your command here
# desired output: 123456
Run Code Online (Sandbox Code Playgroud)
我检查了一下awk
,我也注意到bash有一个substr
命令,但我提出的两个解决方案看起来都比他们需要的时间长,而且我无法摆脱我错过更容易的感觉.
我将发布我找到的两个解决方案作为答案,我欢迎任何批评和新解决方案!
找到解决方案,谢谢所有回复的人!
jcollado和Mithrandir之间很接近 - 我将来最终可能会同时使用它们.Mithrandir的答案是一个实际的子字符串,更容易查看结果,但jcollado的答案让我把它管道到剪贴板,没有EOL字符.
Mit*_*dir 24
你想要这样的东西:
echo "1234567890" | cut -b 1-6
Run Code Online (Sandbox Code Playgroud)
我想出了:
echo "1234567890" | ( read h; echo ${h:0:6} )
Run Code Online (Sandbox Code Playgroud)
和
echo "1234567890" | awk '{print substr($0,1,6)}'
Run Code Online (Sandbox Code Playgroud)
但两者都像是我在用大锤敲钉子。
归档时间: |
|
查看次数: |
10928 次 |
最近记录: |