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

  免費注冊 查看新帖 |

Chinaunix

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

聽說shell版的氣氛好,有一小問題尋求幫助。 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2007-02-26 19:49 |只看該作者 |倒序瀏覽
一系列的*.txt小文件,將這個文件里的所有標(biāo)示".doc",改為".docbak"的shell語句如何寫?


shell 新人,請指教。,

論壇徽章:
0
2 [報告]
發(fā)表于 2007-02-26 20:03 |只看該作者
find . -type f -name "*.txt" | xargs -i sed -i 's/.*\.\<doc\>/&.bak/' {}

論壇徽章:
0
3 [報告]
發(fā)表于 2007-02-26 20:04 |只看該作者
while read file
do
mv $file ${file}bak
done <a.txt

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
4 [報告]
發(fā)表于 2007-02-26 23:08 |只看該作者
rename .doc .docbook *.doc

論壇徽章:
0
5 [報告]
發(fā)表于 2007-02-27 00:50 |只看該作者
非常感謝樓上三位熱心朋友。

4Aiur 的語句能看明白。
Ray001 的不太明白。
網(wǎng)中人的理解跟我想做的可能有出入:
我想表述的是:
/tmp/目錄下有a.txt,b.txt,c.txt等三至四個DOS格式文本文件,這些文件里有".doc"這四個字符,將這四個符找出來,并替換成".docbak"這7個字符.


另如何將每個DOS格式的文本文件的第三行刪除呢?

論壇徽章:
0
6 [報告]
發(fā)表于 2007-02-27 09:03 |只看該作者
1、字符替換
perl -p -i -e "s/\.doc/\.docbak/g" *txt

2、刪除第三行
for  i in `ls *txt`
do
         sed '3d' $i>$i.new
         mv $i $i.old
         mv $i.new $i
done

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
7 [報告]
發(fā)表于 2007-02-27 09:03 |只看該作者
哦,sorry,老眼昏花,一時失察,真是不好意思呢。
修改一下:
for i in /tmp/*.txt
do
    sed -i 's/\.doc/\.docbook/g' $i
done


至於你後面的要求,可試試看:
for i in /tmp/*.txt
do
    file $i | grep -q 'with CRLF line terminators' && sed -i '3d' $i
done

論壇徽章:
0
8 [報告]
發(fā)表于 2007-03-09 00:20 |只看該作者
原帖由 網(wǎng)中人 于 2007-2-27 09:03 發(fā)表
哦,sorry,老眼昏花,一時失察,真是不好意思呢。
修改一下:
for i in /tmp/*.txt
do
    sed -i 's/\.doc/\.docbook/g' $i
done


至於你後面的要求,可試試看:
for i in /tmp/*.txt
do
    file  ...



這種方法出錯:
sed: 1: "1423.txt": command c expects \ followed by text

# cat mybat.sh
#!/bin/sh
for i in *.txt
do
  file $i | grep -q 'with CRLF line terminators' && sed -i '3d' $i
done

論壇徽章:
0
9 [報告]
發(fā)表于 2007-03-09 00:23 |只看該作者
原帖由 ruifox 于 2007-2-27 09:03 發(fā)表
1、字符替換
perl -p -i -e "s/\.doc/\.docbak/g" *txt

2、刪除第三行
for  i in `ls *txt`
do
         sed '3d' $i>$i.new
         mv $i $i.old
         mv $i.new $i
done


# sh mybatch.sh
刪除第三不成功,出錯:

sed: ls: No such file or directory
usage: mv [-f | -i | -n] [-v] source target
       mv [-f | -i | -n] [-v] source ... directory
usage: mv [-f | -i | -n] [-v] source target
       mv [-f | -i | -n] [-v] source ... directory

這是內(nèi)容:
# cat sh mybatch.sh
#!/bin/sh
for i in 'ls *.txt'
do
    sed '3d' $i>$i.new
    mv $i $i.old
    mv $i.new $i
done

論壇徽章:
0
10 [報告]
發(fā)表于 2007-03-09 00:42 |只看該作者
原帖由 bdchina2003 于 2007-3-9 00:23 發(fā)表


# sh mybatch.sh
刪除第三不成功,出錯:

sed: ls: No such file or directory
usage: mv [-f | -i | -n] [-v] source target
       mv [-f | -i | -n] [-v] source ... directory
usage: mv [-f | -i  ...

找到原因了

for i in 'ls *.txt'->for i in *.txt

運行正常.

謝謝各位的熱心相助.

真沒想到shell版這么多的雷峰
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP