回答
嘗試在shell這樣做:
s=" 3918912k"
echo ${s//[[:blank:]]/}
[[:blank:]]
是一個POSIX正則表達式類(刪除空格,製表符...),見http://www.regular-expressions.info/posixbrackets.html
換人蔘數擴展是不針對POSIX。它可以在Bash(也可能是其他我不知道的shell)中工作,但不在Dash中。 – MoonSweep
你也可以使用echo
可以刪除字符串開頭或結尾的空格,但也可以在字符串內部重複空格。
$ myVar=" kokor iiij ook "
$ echo "$myVar"
kokor iiij ook
$ myVar=`echo $myVar`
$
$ # myVar is not set to "kokor iiij ook"
$ echo "$myVar"
kokor iiij ook
這是不可靠的:如果'myVar'包含'*'之類的特殊字符,shell將使用當前目錄的文件進行擴展。 –
由於#fash上freenode總是說...使用更多的引號。 '回聲「$ MYVAR」'防止水珠的擴展等 – bobpaul
@bobpaul,它可以防止水珠,擴展等,而且還包括了前導和尾部空格的Mickaël意在這種情況下襬脫:( –
一種有趣的方式來從一個變量中刪除所有的空格是用printf:
$ myvar='a cool variable with lots of spaces in it'
$ printf -v myvar '%s' $myvar
$ echo "$myvar"
acoolvariablewithlotsofspacesinit
事實證明,這是略多於myvar="${myvar// /}"
更有效,但不是安全的,可出現關於水珠(*
)在字符串中。所以不要在生產代碼中使用它。
如果你真的真的想用這個方法,實在擔心文件名匹配的東西(你真的應該),你可以使用set -f
(即禁用完全通配符):
$ ls
file1 file2
$ myvar=' a cool variable with spaces and oh! no! there is a glob * in it'
$ echo "$myvar"
a cool variable with spaces and oh! no! there is a glob * in it
$ printf '%s' $myvar ; echo
acoolvariablewithspacesandoh!no!thereisaglobfile1file2init
$ # See the trouble? Let's fix it with set -f:
$ set -f
$ printf '%s' $myvar ; echo
acoolvariablewithspacesandoh!no!thereisaglob*init
$ # Since we like globbing, we unset the f option:
$ set +f
我張貼了這個回答只是因爲它很有趣,並不是在實踐中使用它。
但報價。爲了去掉空格開頭缺少明確glob的所以字符都在玩 –
濃縮到一個安全的一行:'MYVAR =「$(設置-f; printf的‘%s的’$ myvar的)」;回聲「[$。 MYVAR]「' – 2015-07-28 03:10:35
由於您使用bash中,最快的方式是:
shopt -s extglob # Allow extended globbing
var=" lakdjsf lkadsjf "
echo "${var//+([[:space:]])/}"
這是最快的,因爲它使用內置的功能,而不是發射了額外的過程。
但是,如果你想要做一個POSIX兼容的方式,使用sed
:
var=" lakdjsf lkadsjf "
echo "$var" | sed 's/[[:space:]]//g'
在非交互的shell(即劇本),你需要'禁用了javascript -s extglob'的第一個。 –
@glennjackman良好的漁獲物。見我的更新。 –
- 1. 只從字符串中刪除空格
- 2. awk從字符串中刪除空格
- 3. QStringList從字符串中刪除空格
- 4. 從字符串中刪除空格
- 5. 從字符串中刪除空格
- 6. 從字符串中刪除空格
- 7. 從長字符串空格中刪除單個空格字符
- 8. 如何從字符串中刪除雙字符和空格
- 9. 如何從字符串中刪除所有符號和空格?
- 10. 如何從Lua中的字符串中刪除空格?
- 11. 如何從C++中的字符串中刪除空格
- 12. 如何從Arduino中的字符串中刪除空格?
- 13. 如何從OCaml中的字符串中刪除空格?
- 14. 如何從字符串中的字符串中刪除空格PHP
- 15. 如何從字符串中刪除重複的空格
- 16. 如何從Python中的字符串結尾刪除空格?
- 17. 如何從字符串中刪除一些空格?
- 18. 如何從Python中的字符串末尾刪除空格?
- 19. 如何從字符串中刪除空格?
- 20. 如何從字符串中刪除C多餘的空格
- 21. 如何從一個字符串中的iOS刪除空格
- 22. 如何從字符串中刪除空格?
- 23. 如何從字符串中刪除空格(新行)?
- 24. 如何使用JavaScript從字符串中刪除空格?
- 25. 如何從字符串中刪除空格?
- 26. 如何從字符串中刪除所有空格?
- 27. 從字符串中刪除字母字符和空格
- 28. 如何從Golang中的字符串中刪除多餘的空格/空格?
- 29. 刪除Java字符串中的空格?
- 30. 刪除字符串中的空格Javascript
http://stackoverflow.com/questions/369758/how-to-trim-whitespace-from-bash-variable – cnicutar