我正在编写一个简单的 shell 脚本dos2unix
,当它到达我的文件夹时,使用命令将 Windows 格式的文件转换为 Unix 格式。
我曾经iconv
在脚本中使用并自动化它以将一种编码转换为另一种编码。但现在我需要使用dos2unix
而不是iconv
.
我不希望原始文件被覆盖(它必须存档在archive
文件夹中)。这很简单iconv
;我该怎么做dos2unix
呢?
这是我的脚本:
cd /myfolder/storage
filearrival_dir= /myfolder/storage
filearchive_dir=/myfolder/storage/archive
cd $filearrival_dir
echo " $filearrival_dir"
for file in File_October*.txt
do
iconv -f UTF16 -t UTF8 -o "$file.new" "$file" &&
mv -f "$file.new" "$file".`date +"%C%y%m%d"`.txt_conv &&
mv $file $filearchive_dir/$file
done
上面查找匹配的文件File_Oct*.txt
,转换为所需的编码,并用时间戳重命名它,并_conv
在结尾处重命名。此脚本还将原始文件移动到存档中。
如何iconv
在上面的脚本中替换dos2unix
并存档文件,然后像我在这里做的那样做其余的事情?