0

我对这个 linux shell 脚本有疑问。

#! /bin/bash
find /sdcard/ -type f -iname "*.srt" -print >> /sdcard/files 
count=`wc -l /sdcard/files |cut -d'/' -f1` 
for (( c=1; c<=$count; c++ ))
do
line=`sed -n ''$c'p' /sdcard/files`
cat "$line" | sed -e 's/č/c/g' > "$line".srt""
rm "$line"
done
rm /sdcard/files

我知道这不是最好的方法,但这就是我所能做的一切

如您所见,它会找到所有 srt 文件,然后将所有“č”字符替换为“c”。但它不适用于我下载的文件

但是,当我创建一个新文件并在里面(用我的键盘)写“č”时,它会替换它。我不明白为什么?

4

1 回答 1

3

我想我们找到了原因,现在解决了:

vim somefile.srt -c ":set bomb" -c ":set fileencoding=utf-8" -c ":wq"

还有一种肮脏的方式

echo -e "\xC2\xA0" >> somefile.srt

我尝试iconv了应该进行转换的工具,但没有帮助。

于 2012-05-29T14:38:23.477 回答