亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 2086 | 回復: 13
打印 上一主題 下一主題

求一個shell程式,請大是幫忙 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2007-04-17 09:22 |只看該作者 |倒序瀏覽
要求:在指定文件夾下把所有文件名都改成大寫字母,謝謝

論壇徽章:
0
2 [報告]
發(fā)表于 2007-04-17 09:59 |只看該作者
用tr

論壇徽章:
0
3 [報告]
發(fā)表于 2007-04-17 10:02 |只看該作者
只改了文件, 改目錄是一樣的道理

  1. find . -type f | perl -p -w -e 's:(.*)(/[^/\n]*)$:mv $& $1\U$2:'
復制代碼

[ 本帖最后由 Edengundam 于 2007-4-17 13:02 編輯 ]

論壇徽章:
0
4 [報告]
發(fā)表于 2007-04-17 10:18 |只看該作者
給個用awk的...


  1. $ find ../ -type f | awk '{c = split($0, array, "/"); array[c] = toupper(array[c]); printf("mv %s ", $0); for (i = 1; i <= c; i++) if(i != c)printf("%s/", array[i]);else printf("%s\n", array[i])}'
復制代碼

論壇徽章:
0
5 [報告]
發(fā)表于 2007-04-17 10:19 |只看該作者
try
  1. $ find . -type f |awk -F'/' 'BEGIN { OFS=FS; } { oldName = $0; sub(/.*/, toupper($NF), $NF); printf("mv %s %s\n", oldNa
  2. me, $0); }'
復制代碼


如果不支持 toupper,自己寫一個

論壇徽章:
0
6 [報告]
發(fā)表于 2007-04-17 10:26 |只看該作者
awk兄用fs, rs好熟練...我寫的很冗余...

不過perl的正則表達式確實很好用....

原帖由 awk就是awp加ak 于 2007-4-17 10:19 發(fā)表
try
  1. $ find . -type f |awk -F'/' 'BEGIN { OFS=FS; } { oldName = $0; sub(/.*/, toupper($NF), $NF); printf("mv %s %s\n", oldNa
  2. me, $0); }'
復制代碼


如果不支持 toupper,自己寫一個

論壇徽章:
0
7 [報告]
發(fā)表于 2007-04-17 10:32 |只看該作者
熟悉awk 那幾個隱藏特性之后,也許能寫的簡單一些(雖然不知道是不是通用)^_^
啊,那個perl的有點兒像sed,(.*?)(/[^/\n]*)$ 我得看半天還不太明白 >_<

論壇徽章:
0
8 [報告]
發(fā)表于 2007-04-17 10:36 |只看該作者
我知道那幾個隱藏特性..就是用的少, 沒有用靈活...

其實那個就是s命令, 不過因為perl的正則很強..\U那里指定后面跟隨的字符都會轉換成為大寫..這個特性很方便.
(.*?)盡可能多的匹配(其實可以不用?, ?跟在量詞表示非貪婪的).
(/[^/n]*)$. 這個就是說/后面跟著0到任意個不是/和換行的字符. 放在group 1中.
后面就$&就是和sed的&一個功能, $1就是\1那個....^^

perl的[]里面支持轉義, 因為perl里面可以匹配\n.  所以我把那個\n廢掉了.

原帖由 awk就是awp加ak 于 2007-4-17 10:32 發(fā)表
熟悉awk 那幾個隱藏特性之后,也許能寫的簡單一些(雖然不知道是不是通用)^_^
啊,那個perl的有點兒像sed,(.*?)(/[^/\n]*)$ 我得看半天還不太明白 >_<

[ 本帖最后由 Edengundam 于 2007-4-17 10:39 編輯 ]

論壇徽章:
15
2015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-15 17:29:44午馬
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉雞
日期:2014-04-02 12:24:51雙子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥豬
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大;照
日期:2013-04-17 11:48:45
9 [報告]
發(fā)表于 2007-04-17 10:43 |只看該作者
echo "abcdefghijkl" | tr "[:lower:]" "[:upper:]"
cat filename | tr "[:lower:]" "[:upper:]"

論壇徽章:
0
10 [報告]
發(fā)表于 2007-04-17 11:39 |只看該作者
又學到好多awk

再來個sed的

  1. ls -p | sed -n '/\/$/!{h;y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/;H;g;s/\(.*\)\n\(.*\)$/mv \1 \2/;p;}' | sh
復制代碼

[ 本帖最后由 doctorjxd 于 2007-4-17 11:47 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP