linux下编辑某个文件,linux下修改以某个字母开头的文件后戳
1、怎么在linux下修改以某一字母開頭的文件后戳
源文件內(nèi)容[root@localhost?test]#?ls
stu10.txt.php??stu3.txt.php??stu6.txt.php??stu9.txt.php??test3.txt
stu1.txt.php???stu4.txt.php??stu7.txt.php??test1.txt?????test4.txt
stu2.txt.php???stu5.txt.php??stu8.txt.php??test2.txt?????test5.txt
現(xiàn)在我們將以s開頭的所有文件的后戳修改為.html
第一步:先將以s開頭的文件找出來[root@localhost?test]#?find?-type?f?-name?"s*"
./stu8.txt.php
./stu7.txt.php
./stu6.txt.php
./stu9.txt.php
./stu3.txt.php
./stu4.txt.php
./stu2.txt.php
./stu5.txt.php
./stu1.txt.php
./stu10.txt.php
第二步:取文件的前半部分[root@localhost?test]#?find?-type?f?-name?"s*"|awk?-F"[./]+"?'{print?$2}'
stu8
stu7
stu6
stu9
stu3
stu4
stu2
stu5
stu1
stu10
第三步:使用拼接的方法來實現(xiàn)文件后戳的修改[root@localhost?test]#?find?-type?f?-name?"s*"|awk?-F"[./]+"?'{print?"mv?"$2".txt.php?"$2".html"}'
mv?stu8.txt.php?stu8.html
mv?stu7.txt.php?stu7.html
mv?stu6.txt.php?stu6.html
mv?stu9.txt.php?stu9.html
mv?stu3.txt.php?stu3.html
mv?stu4.txt.php?stu4.html
mv?stu2.txt.php?stu2.html
mv?stu5.txt.php?stu5.html
mv?stu1.txt.php?stu1.html
mv?stu10.txt.php?stu10.html
第四步:將拼接的內(nèi)容交給bash來處理[root@localhost?test]#?find?-type?f?-name?"s*"|awk?-F"[./]+"?'{print?"mv?"$2".txt.php?"$2".html"}'|bash
第五步:查看修改后的內(nèi)容[root@localhost?test]#?ll
total?0
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu10.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu1.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu2.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu3.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu4.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu5.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu6.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu7.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu8.html
-rw-r--r--.?1?root?root?0?Jul?22?11:47?stu9.html
-rw-r--r--.?1?root?root?0?Jul?22?11:41?test1.txt
-rw-r--r--.?1?root?root?0?Jul?22?11:41?test2.txt
-rw-r--r--.?1?root?root?0?Jul?22?11:41?test3.txt
-rw-r--r--.?1?root?root?0?Jul?22?11:41?test4.txt
-rw-r--r--.?1?root?root?0?Jul?22?11:41?test5.txt
可以看到已經(jīng)將所有以s開頭的文件名后戳全部修改為.html
2、以上修改文件后戳的方法還可以使用腳本來實現(xiàn)
腳本內(nèi)容如下#!/bin/bash
workDir=/server/file/test????????將目錄定義為一個變量
if?[?-d?$workDir?];then??????????判斷目錄是否存在,存在則進入,不存在則推出
cd?$workDir
else
exit?1
fi
for?i?in?$(find?-type?f?-name?"[s]*")????用for循環(huán)來查找以s開頭的文件
do
char=`echo?$i|awk?-F"[/.]+"?'{print?$2}'`?????定義要修改的文件前半部分
mv?$i?${char}.html?????????????????????將文件修改為想要的內(nèi)容
done
總結(jié)
以上是生活随笔為你收集整理的linux下编辑某个文件,linux下修改以某个字母开头的文件后戳的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fga 例子 oracle,利用Orac
- 下一篇: linux命令菜鸟ping,Linux