LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 960|回复: 6

求一文本操作问题

[复制链接]
发表于 2006-3-22 20:34:32 | 显示全部楼层 |阅读模式
gnome里为了实现多语言的支持在每个*.desktop里把其它语言也写进去了,即便你只使用英文或者中文比如 users.desktop


[Desktop Entry]
Name=Users and Groups
Name[am]=ተጠቃሚዎች እና መድረኮች
Name[ar]=المستخدمون والمجموعات
Name[az]=İstifadəçilər və Qruplar
Name[bg]=Потребители и групи
Name[bn]=ব্যবহারকারী এবং দল
Name[ca]=Usuaris i grups
Name[cs]=Uživatelé a skupiny
Name[cy]=Defnyddwyr a Grwpiau
Name[da]=Brugere og grupper
Name[de]=Benutzer und Gruppen
Name[el]=Χρήστες και Ομάδες
Name[en_CA]=Users and Groups
Name[en_GB]=Users and Groups
Name[es]=Usuarios y grupos
Name[et]=Kasutajad ja grupid
Name[eu]=Erabiltzaile eta taldeak
Name[fi]=Käyttäjät ja ryhmät
Name[fr]=Utilisateurs et groupes
Name[ga]=èsáideoirí agus Grúpanna
Name[gl]=Usuarios e grupos
Name[gu]=વપરાશકર્તાઓ અને જૂથો
Name[hi]=उपयोक्ता और समूह
Name
=Korisnici i grupe
Name[hu]=Felhasználók és csoportok
Name[id]=Pemakai dan Kelompoknya
Name[it]=Utenti e gruppi
Name[ja]=ユーザとグループ
Name[ko]=사용자와 그룹
Name[lt]=Naudotojų ir grupių nustatymai
Name[lv]=Lietotāji un Grupas
Name[mk]=Корисници и групи
Name[ms]=Pengguna dan Kumpulan
Name[nb]=Brukere og grupper
Name[ne]=प्रयोगकर्ता र समूहहरु
Name[nl]=Gebruikers en groepen
Name[no]=Brukere og grupper
Name[pa]=ਉਪਭੋਗੀ ਅਤੇ ਗਰੁੱਪ
Name[pl]=Użytkownicy i grupy
Name[pt]=Utilizadores e Grupos
Name[pt_BR]=Usuários e Grupos
Name[ro]=Utilizatori şi grupuri
Name[ru]=Пользователи и группы
Name[sk]=Používatelia a skupiny
Name[sq]=Përdoruesit dhe grupet
Name[sr]=Корисници и групе
Name[sr@Latn]=Korisnici i grupe
Name[sv]=Användare och grupper
Name[ta]=பயனீட்டாளர்கள் மற்றும் குழுக்கள்
Name[th]=ผู้ใช้และกลุ่มผู้ใช้
Name[tr]=Kullanıcılar ve Gruplar
Name[uk]=Користувачі та групи
Name[vi]=Người dùng và Nhóm
Name[wa]=Uzeus et groupes
Name[xh]=Abasebenzisi neQela
Name[zh_CN]=用户和组
Name[zh_HK]=使用者及群組
Name[zh_TW]=使用者及群組
Comment=Add or remove users and groups
Comment[ar]=إضافة أو إزالة مستخدمين و مجموعات
Comment[bg]=Добавяне или премахване на потребители и групи
Comment[bn]=ব্যবহারকারী এবং দল যোগ করুন অথবা মুছে ফেলুন
Comment[ca]=Afegeix o suprimeix usuaris i grups
Comment[cs]=Přidat nebo odstranit uživatele a skupiny
Comment[cy]=Ychwanegu neu dynnu defnyddwyr a grwpiau
Comment[da]=Tilføj eller fjern brugere og grupper
Comment[de]=Benutzer und Gruppen hinzufügen oder entfernen
Comment[el]=Προσθήκη ή αφαίρεση μελών και ομάδων
Comment[en_CA]=Add or remove users and groups
Comment[en_GB]=Add or remove users and groups
Comment[es]=Añadir o quitar usuarios y grupos
Comment[et]=Kasutajate ja gruppide lisamine või eemaldamine
Comment[eu]=Gehitu edo ezabatu erabiltzaile eta taldeak
Comment[fi]=Lisää tai poista käyttäjiä ja ryhmiä
Comment[fr]=Ajouter ou supprimer des utilisateurs et groupes
Comment[gl]=Engadir ou eliminar usuarios e grupos
Comment[gu]=વપરાશકર્તાઓ અને જૂથો ઉમેરો અથવા દૂર કરો
Comment[he]=הוסף או הסר משתמשים וקבוצות
Comment[hi]=जोड़ें या हटायें उपयोक्ता और समीह को
Comment
=Dodaje ili uklanja korisnike i grupe
Comment[hu]=Felhasználók és csoportok hozzáadása vagy eltávolítása
Comment[id]=Tambah atau hapus pemakai dan kelompoknya
Comment[it]=Aggiunge o rimuove utenti e gruppi
Comment[ja]=ユーザやグループの追加と削除を行います
Comment[ko]=사용자와 그룹을 더하거나 지웁니다
Comment[lt]=Pridėkite ir šalinkite naudotojus bei grupes
Comment[mk]=Додај или отстрани кориснички групи
Comment[ms]=Tambah atau buang pengguna dan kumpulan
Comment[nb]=Legg til eller fjern brukere og grupper
Comment[ne]=प्रयोगकर्ता र समुहहरुलाई जोड्नुस् वा हटाउनुहोस्
Comment[nl]=Gebruikers en groepen toevoegen of verwijderen
Comment[no]=Legg til eller fjern brukere og grupper
Comment[pa]=ਉਪਭੋਗੀ ਗਰੁੱਪ ਸ਼ਾਮਿਲ ਜਾਂ ਹਟਾਓ
Comment[pl]=Dodawanie i usuwanie użytkowników i grup
Comment[pt]=Adicionar ou remover utilizadores e grupos
Comment[pt_BR]=Adicionar ou remover usuários e grupos
Comment[ro]=Adăugaţi sau ştergeţi utilizatori şi grupuri
Comment[ru]=Добавить или удалить пользователей или группы
Comment[sk]=Pridanie alebo odstránenie používateľov a skupiny
Comment[sq]=Shto apo hiq përdorues dhe grupe
Comment[sr]=Додајте или уклоните кориснике и групе
Comment[sr@Latn]=Dodajte ili uklonite korisnike i grupe
Comment[sv]=Lägg till eller ta bort användare och grupper
Comment[ta]=பயனர் அல்லது குழுக்களை சேர் அல்லது நீக்கு
Comment[th]=เพิ่มหรือลบบัญชีผู้ใช้และกลุ่มผู้ใช้
Comment[tr]=Kullanıcı ve grup ekle ya da sil
Comment[uk]=Додавання і вилучення користувачів і груп
Comment[vi]=Thêm hay loại bỏ người dùng và nhóm
Comment[wa]=Radjouter ou oister des uzeus et des groupes
Comment[xh]=Yongeza okanye susa abasebenzisi namaqela
Comment[zh_CN]=添加或删除用户和组
Comment[zh_HK]=新增或移除使用者及群組
Comment[zh_TW]=新增或移除使用者及群組
Exec=gksu users-admin
X-KDE-SubstituteUID=true
Icon=/usr/share/gnome-system-tools/pixmaps/users.png
Terminal=false
Type=Application
Categories=GNOME;GTK;Application;System;Settings;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-system-tools
X-GNOME-Bugzilla-Component=users-admin
X-GNOME-Bugzilla-Version=2.14.0
StartupNotify=true
Encoding=UTF-8
X-Ubuntu-Gettext-Domain=gnome-system-tools


我的意思是找出所有的这样文件然后用脚本删除里面的不必要的信息。
最终像这样

[Desktop Entry]
Name=Users and Groups
Name[zh_CN]=用户和组
Name[zh_HK]=使用者及群組
Name[zh_TW]=使用者及群組

Comment[zh_CN]=添加或删除用户和组
Comment[zh_HK]=新增或移除使用者及群組
Comment[zh_TW]=新增或移除使用者及群組
Exec=gksu users-admin
X-KDE-SubstituteUID=true
Icon=/usr/share/gnome-system-tools/pixmaps/users.png
Terminal=false
Type=Application
Categories=GNOME;GTK;Application;System;Settings;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-system-tools
X-GNOME-Bugzilla-Component=users-admin
X-GNOME-Bugzilla-Version=2.14.0
StartupNotify=true
Encoding=UTF-8
X-Ubuntu-Gettext-Domain=gnome-system-tools
也就是说只有中文的信息在里面。
发表于 2006-3-22 22:06:21 | 显示全部楼层
如果格式如上固定, try this



  1. $ find -name '*.desktop' -ok sed -i -ne '/^\(Comment\|Name\)/!{p;d}' -e '/^\(Comment\|Name\)\[zh_/p' {} \;

复制代码


此命令因为利用了-i直接修改desktop文件,所以请甚用,我试过了,我这里没问题,希望能帮助你
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 00:42:24 | 显示全部楼层
Post by johnny_jiang
如果格式如上固定, try this



  1. $ find -name '*.desktop' -ok sed -i -ne '/^\(Comment\|Name\)/!{p;d}' -e '/^\(Comment\|Name\)\[zh_/p' {} \;

复制代码


此命令因为利用了-i直接修改desktop文件,所以请甚用,我试过了,我这里没问题,希望能帮助你

谢谢我试一下,在我的机子上试验了一下如果在gdm里选项别的语言的话,确实能做到动态更换到别的语言去,因此保留英文和中文的设置就行了,其它的反正用不着呵呵!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 00:52:35 | 显示全部楼层
Post by anthonyho
谢谢我试一下,在我的机子上试验了一下如果在gdm里选项别的语言的话,确实能做到动态更换到别的语言去,因此保留英文和中文的设置就行了,其它的反正用不着呵呵!

sorry我发现个小问题
[Desktop Entry]
Name=Users and Groups
这样子的话会把上面的
Name=Users and Groups
也删除掉,
还有如果有其它模式是不是也在里面添加就行了。
回复 支持 反对

使用道具 举报

发表于 2006-3-23 02:14:31 | 显示全部楼层
  1. '/\(Name\[\|Comment\[\)/{/zh/!d}'
复制代码
try this one see if its better...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 13:49:52 | 显示全部楼层
Post by yongjian
  1. '/\(Name\[\|Comment\[\)/{/zh/!d}'
复制代码
try this one see if its better...

OK我晚上试一下,谢谢各位的支持。
回复 支持 反对

使用道具 举报

发表于 2006-3-23 14:27:10 | 显示全部楼层
Post by yongjian
  1. '/\(Name\[\|Comment\[\)/{/zh/!d}'
复制代码
try this one see if its better...


This is better than mine.hehe
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表