How to achieve batch conversion of shell scripts encoded by files in a directory
This article will explain in detail how to achieve batch conversion directory file coding shell script, the editor thinks it is very practical, so share to you as a reference, I hope you can get something after reading this article.
An example of batch conversion directory file encoding shell script code.
Requirements description:
As a result of transferring from window to linux, many gbk files under the original win need to be converted to utf8.
The following script only determines that non-utf8 files are converted to utf8 files, and the default non-utf8 file is gbk, which needs to be modified if the file type is inconsistent.
Example:
The code is as follows:
#! / bin/bash
# File Name: iconv.sh
# Author: wanggy
# site: www.yisu.com
#
Show_file ()
{
For file in `ls $1`
Do
If [- d $1 "/" $file]; then
# directory recursive call show_file function
Show_file $1 "/" $file
Else
# Files
Echo $1 "/" $file
File_type= `file $1 "/" $file`
Type= `echo $file_type | grep UTF- 8`
If [- z "$type"]; then
Echo "null non-utf-8 encoding, conversion"
Iconv-f gbk-t utf8 $1 "/" $file-o $1 "/" $file
Else
Echo "utf8 coding does not need to be converted"
Fi
Fi
Done
}
Path=./shell
Show_file $path
On "how to achieve batch conversion directory file coding shell script" this article is shared here, I hope the above content can be of some help to you, so that you can learn more knowledge, if you think the article is good, please share it out for more people to see.