
正文
运维派 企业面试题3 为上题中的 "十个随机字母_test.html" 文件 更名
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Linux运维必会的实战编程笔试题(19题)
企业面试题3
#将试题2中创建的文件名uopiyhgawe_test.html
# test-->修改为omg,html-->HTML
方法一:
思路: 循环读取文件名, 存入changename.tmp文件, 使用sed变更,删除源文件; 读取changename.tmp, 新建文件;
这种方法把简单的问题复杂化, 而且不适合批量更改已有文件内容的文件名;
#!/bin/bash
#
#
# 将试题2中创建的文件名uopiyhgawe_test.html
# test-->修改为omg,html-->HTML
touch /tmp/sh/changename.tmp
for i in `ls /tmp/www`;do
echo $i >> /tmp/sh/changename.tmp;
rm -f /tmp/www/$i
donesed -i 's@_test.html@_omg.HTML@g' /tmp/sh/changename.tmpfor i in `cat /tmp/sh/changename.tmp`;do
cd /tmp/www
touch $i
donerm -f /tmp/sh/changename.tmp

方法2:
思路: 循环读取文件名输出给 grep -o , 选择前面的十位随机字母字符串, 使用 mv 重命名
--[root@vm]: /tmp/sh # cat changenamev2.sh
#!/bin/bash
#
#
#change name with mv
#version 0.2for i in `ls /tmp/www`;do
bname=`echo $i | grep -o '[[:alpha:]]\{10\}'`
mv /tmp/www/${bname}_test.html /tmp/www/${bname}_OMG.HTML
done
运行结果:








