私はファイル名のリストを処理し、ファイル名のすべての外国人の文字を英語の同等語で置き換えることを試みています。例えば。外国語の文字を英語のファイル名に置き換えて、UNIXのBashスクリプト
málaga.txt - > malaga.txt
私のスクリプトは、次のとおりです。
for f in *.txt
do
newf=$(echo $f | sed 'y/āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜĀÁǍÀĒÉĚÈĪÍǏÌŌÓǑÒŪÚǓÙǕǗǙǛ/aaaaeeeeiiiioooouuuuüüüüAAAAEEEEIIIIOOOOUUUUÜÜÜÜ/')
mv $f $newf
done
これは、現在のファイル名には影響しません。しかし、私はテキストファイルを処理するために、同じ正規表現を使用する場合。例えば。
cat blah.txt | sed 'y/āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜĀÁǍÀĒÉĚÈĪÍǏÌŌÓǑÒŪÚǓÙǕǗǙǛ/aaaaeeeeiiiioooouuuuüüüüAAAAEEEEIIIIOOOOUUUUÜÜÜÜ/
これは完全に機能します。すべての外字は、同等の英語に置き換えられています。どんな助けでも大歓迎です。これは、UNIXシェルのMac OSX上にあります。
ニースの1が、外国の文字は何でしょうか?教えてください;) – sjsam
私はこれらのような文字の意味:āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜĀÁǍÀĒÉĚÈĪÍǏÌŌÓǑÒŪÚǓÙǕǗǙǛ – Binaromong
あなたに外国語がいくつかの他にネイティブであるかもしれないが、私が何を意味するのかです。さらに説明する必要はありません。ご質問あなたが達成しようとしているかについてかなり明確です:) – sjsam