大小寫字母轉(zhuǎn)換的shell腳本代碼
更新時(shí)間:2013年08月02日 18:46:21 作者:
本文介紹下,用于大小寫字母轉(zhuǎn)換的一例shell腳本,學(xué)習(xí)tr、awk、sed等命令的用法。有需要的朋友參考下
以下腳本,可以進(jìn)行目錄或文件大小寫字母轉(zhuǎn)換,代碼如下:
#!/bin/sh
#edit by www.dbjr.com.cn
# [:upper:] [ A - Z ]
# [:lower:] [ a - z ]
# [:digit:] [ 0 - 9 ]
# [:alnum:] [ 0 - 9 a - z A-Z]
# [:space:] 空格或t a b鍵
# [:alpha:] [ a - z A - Z ]
# tr
for f in *
do
echo $f | tr "[:upper:]" "[:lower:]"
done
#awk
#把當(dāng)前目錄下的所有小寫文件名都改為大寫文件名。
ls | awk '{printf("mv %s %s\n", $0, toupper($0))|"sh"}'
#把當(dāng)前目錄下的所有大寫文件名都改為小寫文件名。
ls | awk '{printf("mv %s %s\n", $0, tolower($0))|"sh"}'
#sed
file="test.txt"
cat $file | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'
代碼說明:
方法1,使用tr命令。
方法2,方法3,使用aw命令。
方法4,使用cat sed命令。
對于測試文件test.txt,其原始內(nèi)容,如下圖:

經(jīng)方法4 ,轉(zhuǎn)換后其內(nèi)容全部變?yōu)榇髮?,如下圖:
復(fù)制代碼 代碼如下:
#!/bin/sh
#edit by www.dbjr.com.cn
# [:upper:] [ A - Z ]
# [:lower:] [ a - z ]
# [:digit:] [ 0 - 9 ]
# [:alnum:] [ 0 - 9 a - z A-Z]
# [:space:] 空格或t a b鍵
# [:alpha:] [ a - z A - Z ]
# tr
for f in *
do
echo $f | tr "[:upper:]" "[:lower:]"
done
#awk
#把當(dāng)前目錄下的所有小寫文件名都改為大寫文件名。
ls | awk '{printf("mv %s %s\n", $0, toupper($0))|"sh"}'
#把當(dāng)前目錄下的所有大寫文件名都改為小寫文件名。
ls | awk '{printf("mv %s %s\n", $0, tolower($0))|"sh"}'
#sed
file="test.txt"
cat $file | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'
代碼說明:
方法1,使用tr命令。
方法2,方法3,使用aw命令。
方法4,使用cat sed命令。
對于測試文件test.txt,其原始內(nèi)容,如下圖:

經(jīng)方法4 ,轉(zhuǎn)換后其內(nèi)容全部變?yōu)榇髮?,如下圖:

相關(guān)文章
linux執(zhí)行sh腳本報(bào)錯(cuò):$’\r’: 未找到命令的完美解決方法
本文給大家介紹linux執(zhí)行sh腳本報(bào)錯(cuò):$’\r’: 未找到命令的完美解決方法,原因分析及解決辦法給大家講解的非常明白,感興趣的朋友跟隨小編一起看看吧2023-02-02Shell動(dòng)態(tài)生成數(shù)組的多種方法
這篇文章主要介紹了Shell動(dòng)態(tài)生成數(shù)組的多種方法,本文給出while循環(huán)法和for循環(huán)法,以及使用seq生成數(shù)組法,需要的朋友可以參考下2015-07-07bash批量修改文件名稱的方法小結(jié)(增加,去除,修改后綴)
bash批量修改文件名稱的方法總結(jié),包括為文件增加后綴、修改文件名后綴、去除文件名后綴、修改文件名前綴,有需要的朋友可以參考下2013-02-02Linux shell 之 提取文件名和目錄名的一些方法總結(jié)
本篇文章主要介紹了Linux shell 之 提取文件名和目錄名的一些方法總結(jié),具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01