tty中文顯示問題 - Linux

Table of Contents


大家好,我知道在tty顯示中文很麻煩,所以我想知道在亂碼背後的顯示模式

問題是這樣的:

我有50萬個檔案要處理,格式大概是 501025_ID.txt

因為一開始沒限制作業ID只能用英文,所以有幾個中文ID混入
LINUX顯示如下
502222_123.txt
503312_??+??.txt (為中文所顯示的亂碼)
507832_cher.txt
503878_-?{D.txt (為中文所顯示的亂碼)

要把中文的ID換成英數比較好處理

所以我用 find . -regextype egrep -regex ".*_[^[:alnum:]].*"

或是改用 -------------------------------".*_\?\?\+\?\?.*"

都沒辦法抓出任何一條Orz

想請問的是,怎麼樣可以知道linux實際上對那字元的認知是什麼?

或是,有認何方式可以直接把這些中文亂碼換成可見的英數文字嗎?

例如: 我 \u{num}

謝謝

Dan





--

不過是人

http://www.facebook.com/twaiting

--

All Comments

Heather avatarHeather2015-07-03
直接用wildcard來更改檔名會不會好一點?
Oscar avatarOscar2015-07-08
我覺得大概是big5編碼檔名吧?
Dorothy avatarDorothy2015-07-10
find . -regextype egrep -regex \
'..*[^a-zA-Z0-9_-.)( /][^a-zA-Z0-9_-.)( /]*..*'
Ethan avatarEthan2015-07-11
剛剛測試find的正規表示,寫了這麼長才抓到直中文名
Zenobia avatarZenobia2015-07-14
中文檔名改碼或許可以找找關鍵字urlencode
Puput avatarPuput2015-07-15
python2 -c "import urllib, sys
Joseph avatarJoseph2015-07-19
print urllib.quote(sys.argv[1])" 4567889-我.txt
在utf8環境下會輸出4567889-%E6%88%91.txt
Caitlin avatarCaitlin2015-07-21
perl -MURI::Escape -e 'print
uri_escape($ARGV[0])."\n";' "123-稍快.txt"
Queena avatarQueena2015-07-24
2> /dev/null
Elvira avatarElvira2015-07-25
在utf8環境下會輸出123-%E7%A8%8D%E5%BF%AB.txt
Eartha avatarEartha2015-07-26
你的linux有原生支援中文嗎? 原則上在中文utf-8環境,句點
Delia avatarDelia2015-07-27
可以match中文,那些亂碼已不是中文字,所以.只能match一字
Delia avatarDelia2015-07-30
另外你的第2個regex,有greedy的問題,要使用修飾,我比較熟
Noah avatarNoah2015-07-30
程式語語用的regex, command line的不是很確定
Carolina Franco avatarCarolina Franco2015-07-31
抱歉,我看錯了,上面15,16分的推文請忽略