如果我在变量中有一个bash字符串。 如何提取/检索除最后一个字符以外的字符串,如果要提取到最后两个字符,这将多么容易?
示例:
# Removing the last character
INPUT="This is my string."
# Expected output "This is my string"
# Removing the last two characters
INPUT="This is my stringoi"
# Expected output "This is my string"
答案 0 :(得分:4)
使用任何POSIX shell:
OUTPUT="${INPUT%?}" # remove last character
OUTPUT="${INPUT%??}" # remove last two characters
# and so on
答案 1 :(得分:3)
示例:
INPUT="This is my string."
echo $INPUT |sed 's/.$//' # removes last character
INPUT="This is my stringoi"
echo $INPUT |sed 's/..$//' # removes last two character
答案 2 :(得分:2)
编辑:在此处添加通用解决方案。您可以在名为awk
的{{1}}中提到要从行尾删除的字符数,然后应该可以正常工作。
remove_char
请您尝试以下。
awk -v remove_char="2" '{print substr($0,1,length($0)-remove_char)}' Input_file
第二个解决方案:使用GNU awk '{print substr($0,1,length($0)-1)}' Input_file
awk