我需要从字符串的开头和结尾剪切一些字符。字符串没有特定的格式,可以是随机数字和单词。我试图在开头删除5个字符,从字符串末尾删除11个字符。
输入字符串:
342136001788006DEEFF0000060000806000006HSV40002HP
输出字符串:
6001788006DEEFF000006000080600000
从输入中删除加粗字符3413
和6HSV40002HP
。
答案 0 :(得分:0)
可以使用cut命令找到我的答案,我很专注于awk& sed,但最终切割有帮助
cut -c6-38 test.txt
答案 1 :(得分:0)
在这种情况下,您发现cut
commamd wat是最佳解决方案。
您想知道如何使用sed
执行此操作,这对于更复杂的情况会很有趣。
noob解决方案是(使用;
用于2个不同的替代,$
用于行尾:
echo '342136001788006DEEFF0000060000806000006HSV40002HP' |
sed 's/.....//;s/...........$//'
您不想计算点数,可以判断模式与pattern{count}
重复的频率
你可以记住/回忆一个带有s / ..(模式)../ \ 1 /'.
echo '342136001788006DEEFF0000060000806000006HSV40002HP' |
sed 's/.\{5\}\(.*\).\{11\}/\1/'
当sed
支持flog -r
时,您可以避免所有这些反斜杠:
echo '342136001788006DEEFF0000060000806000006HSV40002HP' |
sed -r 's/.{5}(.*).{11}/\1/'