PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Linux
[閒聊] Set construct wildcards 的問題
作者:
licheng
(阿正)
2014-06-26 09:42:25
所謂 Set construct wildcards,
就是說,
在 Bourne Again shell (其他 shell 應該也一樣),
如果我們下達下述指令
ls [0-9]*
應該會列出所有開頭是數字的檔案名稱。
如果是
ls [a-z]*
應該會列出開頭是小寫英文字母的檔案名稱。
同理,
如果指令是
ls [A-Z]*
應該會列出開頭是大寫英文字母的檔案名稱。
至少書上是這麼說的。
假設目前所在位置,
有下述檔案
axxx.txt
bxxx.txt
cxxx.txt
Axxx.txt
Bxxx.txt
Cxxx.txt
如果我們下達
ls [a-c]*
結果應該是什麼? :)
作者:
neutrino
(十年一夢)
2014-06-26 09:47:00
驚 試了一下 究竟為何會這樣!?
作者:
jokester
(蠻王科科)
2014-06-26 10:42:00
奇怪矣 我在bash得到aAbBc 在zsh得到abc
作者: yvb
2014-06-26 14:27:00
應該跟 locale 有關, 請設定 LC_ALL=C 和 LANG=C 後再試試看.
作者:
licheng
(阿正)
2014-06-26 23:29:00
樓上正解 :) 目前 Linux,大多採用 UTF-8 編碼。而 UTF-8編碼的字元排序,跟過去 ASCII,是不一樣的。如果先export LANG=C,應該就會跟大多數 shell 書籍說的結果相同。喜歡寫 shell scripts 的朋友,這一點要注意。不然,會傻眼 :P
作者:
jokester
(蠻王科科)
2014-06-27 01:35:00
utf8字串在不同locale下排序也可能不同 這點也有危險
作者:
kenduest
(小州)
2014-06-30 01:57:00
考慮一下 [[:lower:]] 這類用法比較不會出問題
繼續閱讀
[問題] chrome在ubuntu 14.04的中文支援
sudada
[問題] ad hoc routing
RichLowkey56
[活動] HackingThursday 固定聚會 (2014-06-26)
a0726h77
[問題] lubuntu下寫java程式的環境設定
tomomo520
[問題] Libreoffice on Linux Mint 16 MATE
tzeng03
[閒聊] 用rsync取代cp?
filiaslayers
[問題] crontab排程請益..
BIAO
[問題] 重灌之後進不去系統
tsungjen
Fw: [請益] ffmpeg
gn00618777
Re: [問題] 請問系統設成sudo執行管理權限, root帳號還在嗎?
filiaslayers
Links
booklink
Contact Us: admin [ a t ] ucptt.com