1. 程式人生 > >老男孩教育每日一題-第74天-批量重命名

老男孩教育每日一題-第74天-批量重命名

批量重命名 每日一題

題目

[[email protected] day74]# touch {00..10}.html
[[email protected] day74]# ls
00.html  01.html  02.html  03.html  04.html  05.html  06.html  07.html  08.html  09.html  10.html

我想把這些文件批量重命名為 00.jpg …..10.jpg,請問如何操作

參考答案:

方法一:rename 命令

[[email protected] day74]# rename .html .jpg *.html
[[email protected]
/* */ day74]# ls 00.jpg 01.jpg 02.jpg 03.jpg 04.jpg 05.jpg 06.jpg 07.jpg 08.jpg 09.jpg 10.jpg

方法二:sed或awk命令拼接

[[email protected] day74]# ls
00.html  01.html  02.html  03.html  04.html  05.html  06.html  07.html  08.html  09.html  10.html

sed命令拼接

[[email protected] day74]# ls *.html |sed -r ‘s#(^[0-9]*).*#mv \1.html \1.jpg#‘mv 00.html 00.jpg
mv 01.html 01.jpg
mv 02.html 02.jpg
mv 03.html 03.jpg
mv 04.html 04.jpg
mv 05.html 05.jpg
mv 06.html 06.jpg
mv 07.html 07.jpg
mv 08.html 08.jpg
mv 09.html 09.jpg
mv 10.html 10.jpg
[[email protected]
/* */ day74]# ls *.html |sed -r ‘s#(^[0-9]*).*#mv \1.html \1.jpg#e‘

awk命令拼接

[[email protected] day74]# ls *.html|awk -F. ‘{print "mv",$1".html",$1".jpg"}‘mv 00.html 00.jpg
mv 01.html 01.jpg
mv 02.html 02.jpg
mv 03.html 03.jpg
mv 04.html 04.jpg
mv 05.html 05.jpg
mv 06.html 06.jpg
mv 07.html 07.jpg
mv 08.html 08.jpg
mv 09.html 09.jpg
mv 10.html 10.jpg
[[email protected]
/* */ day74]# ls *.html|awk -F. ‘{print "mv",$1".html",$1".jpg"}‘|bash [[email protected] day74]# ls 00.jpg 01.jpg 02.jpg 03.jpg 04.jpg 05.jpg 06.jpg 07.jpg 08.jpg 09.jpg 10.jpg

方法三:shell編程

[[email protected] day74]# for name in `ls *.html`;do echo $name ${name%.html}.jpg;done
00.html 00.jpg
01.html 01.jpg
02.html 02.jpg
03.html 03.jpg
04.html 04.jpg
05.html 05.jpg
06.html 06.jpg
07.html 07.jpg
08.html 08.jpg
09.html 09.jpg
10.html 10.jpg
[[email protected] day74]# for name in `ls *.html`;do mv $name ${name%.html}.jpg;done
[[email protected] day74]# ls 
00.jpg  01.jpg  02.jpg  03.jpg  04.jpg  05.jpg  06.jpg  07.jpg  08.jpg  09.jpg  10.jpg

網友回答:

[[email protected] day74]# for n in {00..10};do mv $n.html $n.jpg ;done 
[[email protected] day74]# ls
00.jpg  01.jpg  02.jpg  03.jpg  04.jpg  05.jpg  06.jpg  07.jpg  08.jpg  09.jpg  10.jpg

備註

今天是每日一題陪伴大家的第74天,期待你的進步。
對於題目和答案的任何疑問,請在博客評論區留言。
往期題目索引
http://lidao.blog.51cto.com/3388056/1914205

本文出自 “李導的博客” 博客,請務必保留此出處http://lidao.blog.51cto.com/3388056/1940039

老男孩教育每日一題-第74天-批量重命名

相關推薦

男孩教育每日-74-批量命名

批量重命名 每日一題 題目[[email protected]/* */ day74]# touch {00..10}.html [[email protected]/* */ day74]# ls 00.html 01.html 02.html 03.html 04.

男孩教育每日-63-批量創建用戶並設置隨機密碼(要求不能使用shell循環語句)

每日一題 隨機數 命令拼接 題目:批量添加20個用戶,用戶名為user1~20,密碼為5個隨機字符(要求不能使用shell循環語句)解決方法方法1 echo user{1..20}|xargs -n1|sed -r ‘s#(.*)#useradd \1 \&\& echo \1 &

男孩教育每日-60-一道實用Linux運維問題的9種Shell解答方法!

awk shell腳本 每日一題 2017-06-041.問題為:已知:/etc/hosts的內容為192.168.1.11 oldboy11.etiantian.org 192.168.1.21 oldboy21.etiantian.org 192.168.1.31 oldboy31.et

男孩教育每日-61-使用命令調換 /etc/passwd 文件裏所有的第一列和最後列位置

sed awk 每日一題 調換位置 老男孩教育每日一題-第61天-使用命令調換 /etc/passwd 文件裏 root 位置和/bin/bash 位置?即將所有的第一列和最後一列位置調換?例:默認:root:x:0:0:root:/root:/bin/bash修改後:/bin/bash:x:

男孩教育每日-66-通過Iptables來限定apache每秒鐘連接數為1,峰值為3

防火墻 iptables 每日一題 題目通過Iptables來限定apache每秒鐘連接數為1,峰值為3參考答案iptables -A INPUT -d 172.16.100.1 -p tcp --dport -m limit --limit 1/second --limit-burst -j

男孩教育每日-70-shell腳本優化點:

判斷腳本 腳本優化 每日一題 題目參見以下腳本:#!/bin/bash grep oldboy /etc/passwd &>/dev/null REVAL=$? if [ $REVAL -eq 0 ] then echo "oldboy user already exist

男孩教育每日-64 -sed命令闖關

正則表達式 sed 每日一題 如下文件內容,cat /tmp/passwd root:x:0: 0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x

男孩教育每日-75-linux無法上網或聯網怎麽辦?

無法上網 排查過程 無法聯網 每日一題 參考答案1.ping百度或一個網址-檢查是否為dns問題ping www.baidu.com2.出現Couldn’t resolve host 或 unkown host 錯誤沒有辦法把域名解析為ip地址ping 223.5.5.5 —-如何通了——DN

男孩教育每日-76-說說/etc/profile /etc/bashrc .bashrc .bash_profile的區別

常見系統文件說明 每日一題 參考答案:每個文件的含義/etc/profile 主要用是系統的環境變量,同時我們也放些別名/etc/bashrc 主要用來存放系統的別名和自己定義的函數(都可以放到 /etc/profile中).bashrc 是用戶自己定義的別名.bash_pro

男孩教育每日-73 -基礎命令點:可惡的^C

取消ctrl+c 每日一題 ^c 題目背景:很多運維的朋友都遇到過一個問題,輸入一串命令,每次按下ctrl+c都會出現一個比較麻煩的字符信息^C請問有什麽方法可以不讓^C字符信息出現呢?解決方法:利用stty命令即可解決:中斷不顯示^C: stty -echoctl終端顯示^C: stty

男孩教育每日-79-命令風暴:打印出001 002 003 這樣的格式的數字

001 每日一題 生產序列 003 題目:打印出001 002 003 這樣的格式的數字參考答案方法1:{}生成序列[[email protected]/* */ ~]# echo 00{1..3} 001 002 003方法2:seq法[[email protect

男孩教育每日-85-下面這個腳本直接執行沒有問題,在定時任務中有問題,什麽原因?

定時任務 環境變量問題 無法取出ip地址 每日一題 腳本內容:[[email protected]/* */ scripts]# cat /server/scripts/ip.sh #!/bin/bash IP=$(ifconfig eth0 |awk -F "[ :]+" ‘N

男孩教育每日-84-兩個文件,把第一個文件中的2、3行內容添加到第二個文件的3行後面

每日一題兩個文件如下:[[email protected]/* */ ~]# cat 1.txt 111 222 333 [[email protected]/* */ ~]# cat 2.txt AAA bbb ccc ddd要求修改後的文件[[email protect

男孩教育每日-83-binlog是什麽?記錄的什麽?有幾種工作模式及企業應用場景

mysql binlog 每日一題 參考答案含義binlog:是用於記錄所有更新了數據的操作語句,語句以事件的形式保存,它描述數據的更改過程作用:用於實時備份數據,數據庫的主從復制log_bin 打開記錄binlog功能binlog的查看mysqlbinlog /home/mysql/binlog

男孩教育每日-82-發現文件系統只讀了,是什麽原因?如何解決?

文件系統 只讀 每日一題 參考答案目前已知造成硬盤分區只讀的可能原因有:文件系統錯誤內核相關硬件驅動bug磁盤壞道HBA卡故障RAID卡故障解決方法:1.重啟系統後看看是否可以自動恢復2.使用fdisk修復3.卸載只讀的分區,然後重新mount掛載mount -o remount,rw /網友回答

男孩教育每日-88-企業生產MySQL如何優化?

mysql優化 老男孩教育 面試必會 每日一題 參考答案:a:硬件的優化:1、 采用64位cpu,cpu至少4顆,L2緩存越大越好2、 內存要大,32-64G運行1-2個實例,96-128G運行3-4個實例3、 機械盤選用sas盤,轉速15000以上,用可能的話使用ssd4、

男孩教育每日-93-常見的permission denied 原因

權限拒絕 沒有權限 permission deny 每日一題 背景permission denied 即權限拒絕 沒有權限,是我們常見的故障之一。 接下來我們以3個例子說明一下。題目[[email protected]/* */ ~]$ whoami oldboy [[ema

男孩教育每日-96-網站並發知識點:pv-並發與架構設計基礎知識

每日一題 並發 pv 你想建設一個能承受500萬PV/每天的網站嗎? 500萬PV是什麽概念?服務器每秒要處理多少個請求才能應對?如何計算呢?答案參考:PV是什麽:PV是page view的簡寫。PV是指頁面的訪問次數,每打開或刷新一次頁面,就算做一個pv。計算模型:每臺服務器每秒處理請求的數量=

男孩教育每日-94 -shell腳本知識點:對shell腳本進行加密

腳本加密 shell加密 每日一題 題目用shell腳本對系統進行自動化維護,簡單,便捷而且可移植性好.但shell腳本是可讀寫的,很有可能會泄露敏感信息,如用戶名,密碼,路徑,IP等.同樣,在shell腳本運行時會也泄露敏感信息.請問如何不影響腳本運行的前提下,對腳本進行加密答案參考:方法一:s

男孩教育每日-95-shell腳本知識點:書寫腳本完成ftp上傳下載

ftp腳本 ftp上傳腳本 ftp下周腳本 每日一題 題目日常工作中經常用到FTP,進行文件的共享與下載,單對於有些不熟悉FTP命令行人員使用FTP進行共享文件管理,是一件很頭疼的事。而且FTP如果有些文件需要每天定時進行上傳或下載,人為重復相同工作也是沒有意義的因此如何編寫自動下載或上傳FT