<![CDATA[Latest posts for the topic "Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu"]]> /hvaonline/posts/list/24.html JForum - http://www.jforum.net Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu Code:
Le Cat Trong Ly
├── Chênh vênh (guitar version).mp3
├── Chênh vênh.mp3
├── Chuyến xe.mp3
├── Cơn bão nghiêng đêm.mp3
├── Giấc mộng lớn.mp3
├── Hương lạc.mp3
├── Không tên.mp3
├── Lúng ta lúng túng.mp3
├── Mùa yêu.mp3
└── Trời ơi.mp3
Khi tạo playlist: Code:
$ find Le\ Cat\ Trong\ Ly -type f -iname '*.mp3' | sort | sed 's/\//\\/' > Le\ Cat\ Trong\ Ly.mpl
rồi copy vào SL45 _http://sl4x.com/ thì file playlist không hiển thị được tiếng Việt nên gặp lỗi "File not found" khi chạy. Có bạn nào hứng thú đổi tên của những file này thành tiếng Việt không dấu bằng shell script không nhỉ? Code:
Le Cat Trong Ly
├── Chenh venh.mp3
├── Chuyen xe.mp3
├── Con bao nghieng đem.mp3
├── ...
]]>
/hvaonline/posts/list/41259.html#254393 /hvaonline/posts/list/41259.html#254393 GMT
Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu /hvaonline/posts/list/41259.html#254398 /hvaonline/posts/list/41259.html#254398 GMT Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu newname="" list=`ls |grep .mp3 > list.txt` while read line do oldname=$line newname=`echo "$oldname"| tr '[:upper:]' '[:lower:]'` newname=`echo $newname| sed 's/\ /-/g'` newname=`echo $newname| sed 's/[a á à ả ã ạ]/a/g'` newname=`echo $newname| sed 's/[â ấ ầ ẩ ẫ ậ]/a/g'` newname=`echo $newname| sed 's/[e é è ẻ ẽ ẹ]/e/g'` newname=`echo $newname| sed 's/[ê ế ề ể ễ ệ]/e/g'` newname=`echo $newname| sed 's/[i í ì ỉ ĩ ị]/i/g'` newname=`echo $newname| sed 's/[o ó ò ỏ õ ọ]/o/g'` newname=`echo $newname| sed 's/[ô ố ồ ổ ỗ ộ]/o/g'` newname=`echo $newname| sed 's/[ơ ớ ờ ở ỡ ợ]/o/g'` newname=`echo $newname| sed 's/[u ú ù ủ ũ ụ]/u/g'` newname=`echo $newname| sed 's/[ư ứ ừ ử ữ ự]/u/g'` newname=`echo $newname| sed 's/[y ý ỳ ỷ ỹ ỵ]/y/g'` newname=`echo $newname| sed 's/đ/d/g'` echo $newname mv "$oldname" "$newname" done < list.txt rm -rf list.txt #make-list ls|grep .mp3|sort > list.txt   Của anh đây ;)), em mới viết một script hôm qua xong :D, nay e bổ xung thêm cái tiếng việt như a cần ;)) em replace luôn khoảng trắng thành "-" output:
music/ |-- chenh-venh-(guitar-version).mp3 |-- chenh-venh.mp3 |-- chuyen-xe.mp3 |-- con-bao-nghieng-dem.mp3 |-- giac-mong-lon.mp3 |-- huong-lac.mp3 |-- khong-ten.mp3 |-- list.txt |-- lung-ta-lung-tung.mp3 |-- mua-yeu.mp3 |-- rename-unicode-vn.sh `-- troi-oi.mp3  
]]>
/hvaonline/posts/list/41259.html#254399 /hvaonline/posts/list/41259.html#254399 GMT
Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu /hvaonline/posts/list/41259.html#254493 /hvaonline/posts/list/41259.html#254493 GMT Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu Code:
for oldname in *.mp3; do newname=`echo $oldname| sed 's/[aáàảãạâấầẩẫậ]/a/g'| sed 's/[eéèẻẽẹêếềểễệ]/e/g'| sed 's/[iíìỉĩị]/i/g'| sed 's/[oóòỏõọôốồổỗộơớờởỡợ]/o/g'|sed 's/[uúùủũụưứừửữự]/u/g'| sed 's/[yýỳỷỹỵ]/y/g'| sed 's/[đ]/d/g'`; echo $newname; mv "$oldname" "$newname"; done
Output:
music2/ |-- Chenh\ venh\ (guitar\ version).mp3 |-- Chenh\ venh.mp3 |-- Chuyen\ xe.mp3 |-- Con\ bao\ nghieng\ dem.mp3 |-- Giac\ mong\ lon.mp3 |-- Huong\ lac.mp3 |-- Khong\ Ten.mp3 |-- lung\ ta\ lung\ tung.mp3 |-- Mua\ yeu.mp3 `-- Troi\ oi.mp3 
]]>
/hvaonline/posts/list/41259.html#254504 /hvaonline/posts/list/41259.html#254504 GMT
Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu /hvaonline/posts/list/41259.html#254508 /hvaonline/posts/list/41259.html#254508 GMT Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu Code:
for oldname in .mp3; do newname=`echo $oldname| sed 's/[aáàảãạâấầẩẫậ]/a/g; s/[eéèẻẽẹêếềểễệ]/e/g; s/[iíìỉĩị]/i/g; s/[oóòỏõọôốồổỗộơớờởỡợ]/o/g; s/[uúùủũụưứừửữự]/u/g; s/[yýỳỷỹỵ]/y/g; s/[đ]/d/g'`; echo $newname; mv "$oldname" "$newname"; done
hình như còn -e nữa phải không a quanta. A quanta còn cách nào nữa không ?]]>
/hvaonline/posts/list/41259.html#254512 /hvaonline/posts/list/41259.html#254512 GMT
Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu Code:
for oldname in *.mp3; do newname=`echo $oldname|sed -e 's/[aáàảãạâấầẩẫậ]/a/g' -e 's/[eéèẻẽẹêếềểễệ]/e/g' -e 's/[iíìỉĩị]/i/g' -e 's/[oóòỏõọôốồổỗộơớờởỡợ]/o/g' -e 's/[uúùủũụưứừửữự]/u/g' -e 's/[yýỳỷỹỵ]/y/g' -e 's/[đ]/d/g'`; echo $newname; mv "$oldname" "$newname"; done
Cách 2 : Sử dụng "-f": Ví dụ tạo 1 file vn_lowercase.sed với nội dung :
s/[aáàảãạâấầẩẫậ]/a/g s/[eéèẻẽẹêếềểễệ]/e/g s/[iíìỉĩị]/i/g s/[oóòỏõọôốồổỗộơớờởỡợ]/o/g s/[uúùủũụưứừửữự]/u/g s/[yýỳỷỹỵ]/y/g s/[đ]/d/g 
Và lệnh sau: Code:
for oldname in *.mp3; do newname=`echo $oldname|sed -f ../vn_lowercase.sed`; echo $newname; mv "$oldname" "$newname"; done
]]>
/hvaonline/posts/list/41259.html#254513 /hvaonline/posts/list/41259.html#254513 GMT
Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu /hvaonline/posts/list/41259.html#254515 /hvaonline/posts/list/41259.html#254515 GMT Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu /hvaonline/posts/list/41259.html#254524 /hvaonline/posts/list/41259.html#254524 GMT Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu

idid231 wrote:
Vậy em muốn hỏi là cái thuật toán chuyển từ không dấu thành có dấu ấy nó như thế nào? Các anh có thể cho em xin ý tưởng để hình dung nó được không ạ, em chưa hình dung đc nó thế nào :D 
Mình thử Google thì tìm được cái này: http://www.cs.hcmus.edu.vn/elib/bitstream/123456789/112574/1/0112267.pdf, bạn tham khảo xem. Tình cờ hôm qua cũng thấy một bạn submit tính năng này lên commandlinefu: http://www.commandlinefu.com/commands/view/10268/thm-du-ting-vit-t-ng. Lưu ý là bạn ấy thiếu mất dấu nháy đơn ở cuối nhé. Bạn cũng có thể liên lạc để hỏi thêm. Test phát :^) Code:
$ curl http://vietlabs.com/vietizer/vietizer.php -d 'INPUT=em dang o truong, anh den ngay nhe, em muon lam roi&R1=1' | grep "<br>" | sed 's/<br>//g'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   250    0   188  100    62     86     28  0:00:02  0:00:02 --:--:--   105
Kết quả:
em đang ở trường, anh đến ngày nhẹ, em muốn làm rồi 
]]>
/hvaonline/posts/list/41259.html#254593 /hvaonline/posts/list/41259.html#254593 GMT
Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu /hvaonline/posts/list/41259.html#254665 /hvaonline/posts/list/41259.html#254665 GMT Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu /hvaonline/posts/list/41259.html#254672 /hvaonline/posts/list/41259.html#254672 GMT Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu em đang ở trường, anh đến ngày nhẹ, em muốn làm rồi   Đoạn này mà nó dịch "em muốn lắm rồi" thì khó đỡ thật. Em có test qua nhưng không hài lòng lắm, mặc dù đề tài này thực sự rất hay :). Nếu làm một con bot tìm kiếm "tri thức" trên internet rồi tự động correct chắc hay hơn.]]> /hvaonline/posts/list/41259.html#264521 /hvaonline/posts/list/41259.html#264521 GMT Đổi tên hàng loạt file từ tiếng Việt có dấu thành không dấu http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5174609&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F5174598%2F5174599%2F05174609.pdf%3Farnumber%3D5174609 (ngày xưa mình down free được, chẳng hiểu sao giờ ko tìm thấy link pdf, nếu bạn nào tìm mà ko ra chỗ để down thì PM mình) Đây có thể xem là một bài toán của lĩnh vực NLP. Mình đã từng tham khảo bài báo này + dùng thuật toán Viterbi để thực hiện, kết quả Pre = 89,5%, so với kết quả của luận văn mà anh quanta dẫn link thì cao hơn một chút (86.9%) :P Đang có ý tưởng phát triển viết một phần mềm gõ tiếng Việt tự động thêm dấu mà chưa có thời gian. Bạn nào có hứng thú thì pm nhé :D PS: ví dụ trên, chương trình của mình cho kết quả là
em đang ở trường, anh đến ngay nhe, em muốn lắm rồi 
vẫn còn hơi lởm, hehe]]>
/hvaonline/posts/list/41259.html#264709 /hvaonline/posts/list/41259.html#264709 GMT