|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
我的optics目錄下有兩個子目錄optics1和optics2,還有幾個文件,我想把optics目錄下的所有文件和子目錄下的所有文件中的「ASC」字符替換為「LER」,請各位大大指教,前面有位大大給出如下命令,但我試了不行:
sed -i 's/ASC/LER/g' $(grep -lR ASC *) |
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
跟sed的版本有關
我的sed版本:
GNU sed version 4.0.5
參考一下下面的鏈接:
http://www.lslnet.com/linux/#forum/24/20041121/448814.html |
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
謝謝大大!
我這裡,用
sed -e 's/ASC/LER/g' ~/optics/*
可以將所有文件中的ASC替換為LER,但只是完成替換,不保存,我不知道怎樣才能把替換後的文件保存。如果只有一個文件好辦
sed -e 's/ASC/LER/g' old.sad > new.sad (不知道如何原名保存?)
但目錄下多個文件怎麼辦,請大大幫助,小弟感謝! |
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
try:
for i in `find ~/optics/ -type f`; do sed -e 's/ASC/LER/g' $i > /tmp/tmpfile; mv /tmp/tmpfile $i; done
有點繁 :cry:希望 拋磚引玉 :wink: |
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
try:
for i in `find ~/optics/ -type f`; do sed -e 's/ASC/LER/g' $i > /tmp/tmpfile; mv /tmp/tmpfile $i; done
試了,我的solaris好像不支持for命令,我用
sed -e 's/ASC/LER/g' file1 > /tmp/tmpfile; mv /tmp/tmpfile file1
可以實現單文件的替換存儲,但還是無法用上述命令實現多目錄多文件的情況。
solaris上有別的循環語句嗎,能不能試試別的?謝了! |
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
#!/bin/sh
D_PATH=~/optics
SRC="ASC"
grep -r -s -l $SRC $D_PATH > ./files.list
while read FILE
do
echo $FILE
mv $FILE $FILE.BAK
sed 's/ASC/LER/g' $FILE.BAK > $FILE
rm $FILE.BAK
done < ./files.list |
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
sed -i "s/aaa/abc/g" *.txt |
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
$ ls *
11.txt 22.txt
11:
aa.txt
22:
22.txt
$ cat $(find . -name "*.txt" -print)
sss
sss
bbc
sss
nbg
sss
$ sed -i "s/sss/ggg/g" $(find . -name "*.txt" -print)
$ cat $(find . -name "*.txt" -print)
ggg
ggg
bbc
ggg
nbg
ggg |
請教一個sed替換的問題,目錄下有子目錄和文件的情況!thx
grep -r -s -l option> ./files.list
cat files.list|whilte read line
do
edit $line --<<!
s/ABC/s//123/g
w
!
done |
| |