linux下批量删除utf8 bom的实现方法

低版本的gcc编译包含bom的文件会报错

xxx.cpp:1: error: stray ‘\357' in program
xxx.cpp:1: error: stray ‘\273' in program
xxx.cpp:1: error: stray ‘\277' in program

批量删除之

grep -rIlo $'^\xEF\xBB\xBF' . | xargs sed --in-place -e 's/\xef\xbb\xbf//'

在文件末尾增加空白行

find . -name "*.h" | xargs sed --in-place -e '${G}'

以上这篇linux下批量删除utf8 bom的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Linux批量更改文件后缀名

    今天又有同学问Linux下怎样批量更改文件后缀名,这个问题被别人问到三次了,所以这里给出几个解决方法 一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/' ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2.  CentOS5.5系统下 rename .c .h *.c 把当前目录下的后缀名为.c的文件更改为.h的文件 二.shell 脚本解决 #!/bin/bash find ./ -name *.c | while read i do echo

  • 详解linux下批量替换文件内容的三种方法(perl,sed,shell)

    在建设本网站的时候,发现新建了很多的网页,突然发现,每个文件都需要进行修改一样的内容,一个一个打开很是麻烦,所以,总结了一下如何快速修改一个目录下多个文件进行内容替换.第三种方法用的不多 方法一 使用perl ,命令如下: 复制代码 代码如下: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' 方法二 使用sed命令如下: 复制代码 代码如下: sed -i "s/原字符串/新字符串/g" `grep 原字符串

  • Linux 下rename 命令的用法第1/2页

    首先来说一下mv命令,在man mv中我们可以看到对于mv命令的介绍是这样的: mv -move(rename) files 可以看到mv命令确实有重命名的功能,但是实际应用中,它只能对单个文件重命名,命令如下: mv [path/]oldfilename [path/]newfilename "mv命令只能对单个文件重命名",这实就是mv命令和rename命令的在重命名方面的根本区别. 再来说rename命令,在man rename的说明如下: NAME rename -Rename

  • Linux下批量修改文件编码

    假设需要将所有ipaddr目录下的php文件,编码从gb2312转到utf8 cd ipaddr find ./ -type f -name "*.php"|while read line;do echo $line iconv -f GB2312 -t UTF-8 $line > ${line}.utf8 mv $line ${line}.gb2312 mv ${line}.utf8 $line done 上面脚本将当前ipaddr目录下的所有php文件,从gb2312转到ut

  • 在Linux中批量建立用户的shell

    最近,笔者在校园网应用平台建设中采用了Linux操作系统,为校园网用户提供DNS.Apache.POP3.SMTP.FTP等服务.由于我校学生用户数在3000人以上,笔者在建设整个应用平台的过程中特别重视保证用户管理效率.我的基本思路和做法是:利用shell为每个学生建立一个系统账号--即提供一个E-mail地址(含FTP空间账号),然后学生可以凭借其E-mail再注册论坛用户.基于这样的管理思路,笔者编写了一个批量建立用户的shell,实践证明,利用shell可以有效地管理基于Unix内核的系

  • Linux中用rename命令批量替换文件名方法实例

    前言 在Linux系统中修改文件名可以用mv命令,但是它只能对单个文件进行操作,如要要批量执行还要写shell脚本,用for语句迭代执行,不过Linux中另外一个命令支持批量替换文件名,它是rename,rename支持正则表达式匹配. 需要注意的是:rename命令在不同的Linux发行版语法格式不一样. 语法 在Debian或者Ubuntu环境下使用的语法是: rename 's/stringx/stringy/' files 而在CentOS下或者RedHat下是: rename stri

  • linux中批量修改文件名的脚本代码

    使用 rename 命令 ======================== NAME rename - Rename files SYNOPSIS rename from to file... ======================== 复制代码 代码如下: #! /bin/sh INIFILE="./dirlist.ini" CURPATH=$(pwd) for SERVERPATH in $(cut -d: -f1 $INIFILE) do cd $SERVERPATH cd

  • linux下批量删除utf8 bom的实现方法

    低版本的gcc编译包含bom的文件会报错 xxx.cpp:1: error: stray '\357' in program xxx.cpp:1: error: stray '\273' in program xxx.cpp:1: error: stray '\277' in program 批量删除之 grep -rIlo $'^\xEF\xBB\xBF' . | xargs sed --in-place -e 's/\xef\xbb\xbf//' 在文件末尾增加空白行 find . -nam

  • Linux下完全删除用户的两种方法

    Linux操作 实验环境:Centos7虚拟机 首先创建一个普通用户 gubeiqing . [root@localhost ~]# useradd gubeiqing [root@localhost ~]# passwd gubeiqing Changing password for user gubeiqing. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all

  • ASP下批量删除数据的两种方法

    方法一: 复制代码 代码如下: id=request.form("checkbox") id=Split(id,",") shu=0 for i=0 to UBound(id) sql="select * from jiang_fname where id="&id(i) set rs=conn.execute(sql) if not rs.eof then delete_file(rs("fname")) end i

  • Linux下自动删除归档日志文件的方法

    1.日志删除策略 自动删除7天前的归档日志与备份文件. 2.调度计划 0 0 * * * nohup sh /db2backup/script/auto_rm_logs.sh & 3.日志删除脚本 auto_rm_logs.sh #!/bin/sh #------------------------------------- # rm db2 archive log file and *.tgz files @hury # create @2016-12-13 # script name:aut

  • Linux下Oracle删除用户和表空间的方法

    本文实例讲述了Linux下Oracle删除用户和表空间的方法.分享给大家供大家参考,具体如下: 1.删除某个用户 SQL> conn /as sysdba Connected. SQL> drop user userName cascade; 用户已删除 如果用户无法删除,并报错: ERROR at line 1: ORA-01940: cannot drop a user that is currently connected 通过查看用户的进行,并kill用户进程,然后删除用户. SQL&

  • Linux下批量修改服务器用户密码方法步骤

    密码快要过期.由于机器数量众多,因此采用批量修改密码的方式来进行处理. 下面是具体步骤: 1.配置ssh免key # ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # ssh-copy-id 10.230.86.64 (由于只是需要单向的copy文件,因此我们配置63与64到91的boco用户免key即可) 2.测试免key是否配置成功 3.编写密码文件 将所有需要修改的用户与密码按下面格式写到文件里,注意中间不要有空行 vi userpasswdfile.t

  • Linux下彻底删除Mysql 8.0服务的方法

    观看本文前最好有一定的Linux命令基础,具体为centos7.3环境中清除使用yum安装的Mysql 卸载前请先关闭Mysql服务 service mysql stop 使用 rpm 命令的方式查看已安装的mysql rpm -qa|grep mysql 开始卸载Mysql服务 使用yum安装需要先进行清除服务等 yum remove mysql mysql-server mysql-libs mysql-server 再次查询 rpm -qa|grep mysql 使用过rpm -ev +对

  • Linux下自动删除过期备份和自动异地备份的脚本

    目录 每天自动删除过期备份 每天定时异地备份 每天自动删除过期备份 首先编写一个简单的Shell脚本DeleteExpireBackup.sh: #!/bin/bash # 修改需要删除的路径 location="/database/backup/" # 删除最后修改时间为30天以前的备份文件夹 find $location -mtime +30 -type d | xargs rm -rf {} -mtime:文件内容最后一次修改的时间,+30 代表大于30天的.其他参数可选: 访问

  • Linux下安装MariaDB数据库问题及解决方法(二进制版本的安装)

    MariaDB数据库 分为源代码版本和二进制版本,源代码版本需要cmake编译,这里是二进制版本的安装 # tar zxvf mariadb-5.5.31-linux-x86_64.tar.gz # mv mariadb-5.5.31-linux-x86_64 /usr/local/MySQL (必需这样,很多脚本或可执行程序都会直接访问这个目录) # groupadd mysql 增加 mysql 属组 # useradd -g mysql mysql 增加 mysql 用户 并归于mysql

  • linux下mysql创建新的用户的方法

    1.以root身份登录到MySQL服务器中. $ mysql -u root -p 当验证提示出现的时候,输入MySQL的root帐号的密码. 2.创建一个MySQL用户 使用如下命令创建一个用户名和密码分 为"username"和"userpassword"的用户. mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword'; 一旦用户被创建后,包括加密的密码.权限和资源限制在

随机推荐