How to remove leading whitespace from a string in Bash
本问题已经有最佳答案,请猛点这里访问。
例如,我有一个字符串,"some string",我想把"some string"放在另一个字符串变量中。 我怎么做?
我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function get_title() { t1=$(get_type"$1") t2="ACM Transactions" t3="ELSEVIER" t4="IEEE Transactions" t5="MIT Press" if ["$t1"=="$t2" ]; then title=$(less"$1" | head -1) elif ["$t1"=="$t5" ]; then title=$(less"$1" | head -3) fi echo"$title" } |
正如您所看到的,$ title可以在中心对齐文本中的文本前面返回不需要的空格。 我想防止这种情况。
一种强大而直接的方法是使用sed,例如
1 | $ sed 's/^[[:space:]]*//' <<<"$var" |
如果你愿意打开扩展的globbing(shopt -s extglob),那么下面将从$ var中删除初始空格:
1 | "${var##+([[:space:]])}" |
例:
1 2 | var=$' \t abc \t ' echo"=${var##+([[:space:]])}=" =abc = |