awk如何替换批量文件中的字符 65
test目录下有N个文件,如123……N,要将这些文件中的一些字符替换掉,如将a替换成A后保存到test1目录下,文件名为123……N...
test目录下有N个文件,如1 2 3……N,要将这些文件中的一些字符替换掉,如将a替换成A后保存到test1目录下,文件名为1 2 3……N
展开
3个回答
展开全部
#!/bin/sh
#源目录
SOURCE_DIR="/home/dingchao/test"
#目标目录
DEST_DIR="/home/dingchao/test1"
#临时文件,记录源目录下的文件
TMP_FILE="/home/dingchao/.tmp"
#创建目标目录
if [ ! -d ${DEST_DIR} ]
then
mkdir -p ${DEST_DIR}
fi
#创建临时文件
if [ ! -f ${TMP_FILE} ]
then
touch ${TMP_FILE}
fi
cd ${SOURCE_DIR}
#列出所有文件(包含隐藏文件)
ls -a > ${TMP_FILE}
for FILE in `cat ${TMP_FILE}`
do
#除去"."和".."
if [[ ${FILE} == "." || ${FILE} == ".." ]]
then
continue
fi
#只有是普通文件才会继续
if [[ ! -f ${FILE} ]]
then
continue
fi
#这里是替换字符串的操作
cat ${FILE} | sed 's/a/A/g' > ${DEST_DIR}/${FILE}
done
return 0
#源目录
SOURCE_DIR="/home/dingchao/test"
#目标目录
DEST_DIR="/home/dingchao/test1"
#临时文件,记录源目录下的文件
TMP_FILE="/home/dingchao/.tmp"
#创建目标目录
if [ ! -d ${DEST_DIR} ]
then
mkdir -p ${DEST_DIR}
fi
#创建临时文件
if [ ! -f ${TMP_FILE} ]
then
touch ${TMP_FILE}
fi
cd ${SOURCE_DIR}
#列出所有文件(包含隐藏文件)
ls -a > ${TMP_FILE}
for FILE in `cat ${TMP_FILE}`
do
#除去"."和".."
if [[ ${FILE} == "." || ${FILE} == ".." ]]
then
continue
fi
#只有是普通文件才会继续
if [[ ! -f ${FILE} ]]
then
continue
fi
#这里是替换字符串的操作
cat ${FILE} | sed 's/a/A/g' > ${DEST_DIR}/${FILE}
done
return 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询