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

Chinaunix

標(biāo)題: find內(nèi)容 并建立對(duì)應(yīng)的目錄 [打印本頁]

作者: kakaliu    時(shí)間: 2014-12-02 21:09
標(biāo)題: find內(nèi)容 并建立對(duì)應(yīng)的目錄
本帖最后由 kakaliu 于 2014-12-02 21:18 編輯


  1. gold/guandian/2010-12/2110274.htm
  2. gold/guandian/2010-12/2113423.htm
  3. html/2014/c203_0217/W020140217370194853792.png
  4. html/2014/c203_0323/W020140323327068017183.jpg
復(fù)制代碼
由于不能發(fā)url鏈接 文本只能截取一部分 少了域名


這些網(wǎng)站 都因?yàn)?.*的文件不存在,所以打開頁面都變成了404

因?yàn)橐郧白鲞^備份,在/backup/下 可能存在/gold/guandian/2010-12/2110274.htm 對(duì)應(yīng)的目錄或者文件

現(xiàn)在需求就是去/backup下 查找 是否有這些文件,如果有的話 就將這個(gè)文件 根據(jù)之前域名的地址 建立對(duì)應(yīng)的目錄并拷貝過去

如查找2110274.htm 找到了,就在/var/www/html/目錄下建立相應(yīng)子目錄 gold/guandian/2010-12/
最后2110274.htm 就在/var/www/html/gold/guandian/2010-12/這個(gè)目錄下
作者: Buring__    時(shí)間: 2014-12-02 21:26
kakaliu
/backup 下面的目錄不是都是好好的, 直接copy過去么
作者: kakaliu    時(shí)間: 2014-12-02 21:40
回復(fù) 2# Buring__


    我只找我需要的文件,多余的文件不要,目錄整個(gè)復(fù)制過去 會(huì)有很多多余的文件
作者: blackold    時(shí)間: 2014-12-03 09:30
搞個(gè)循環(huán)就行了。
對(duì)于文件
http://xxx/gold/guandian/2010-12/2110274.htm
是在查找
backup/gold/guandian/2010-12/2110274.htm
還是在 backup 目錄及其子目錄查找
2110274.htm
?
作者: kakaliu    時(shí)間: 2014-12-03 09:58
回復(fù) 4# blackold


    在backup及其子目錄去查找
作者: blackold    時(shí)間: 2014-12-03 09:59
回復(fù) 5# kakaliu


    如果有多個(gè)同名文件呢?
作者: zerostudy    時(shí)間: 2014-12-03 10:45
try:
  1. #!/bin/bash

  2. findpath="/hxw/shell/backup"
  3. html="/var/www/html"

  4. findname="
  5. 2110274.htm
  6. 2113423.htm
  7. abdc
  8. W020140323327068017183.jpg
  9. W020140217370194853792.png
  10. "
  11. for i in $findname;do

  12.         tmp=`find $findpath -type f -a -name "$i"`
  13.         if [ ! -z $tmp ];then
  14.                 t=${tmp%/*}
  15.                 ok=`echo $t |sed 's/.*backup\///'`
  16.                 mkdir -p $ok
  17.                 cp -p $tmp $html"/"$ok"/"

  18.         fi

  19. done
復(fù)制代碼

作者: zerostudy    時(shí)間: 2014-12-03 10:49
  1. mkdir -p $ok
  2. 改成
  3. mkdir -p $html"/"$ok"/"
復(fù)制代碼

作者: kakaliu    時(shí)間: 2014-12-03 10:52
回復(fù) 6# blackold


    去根據(jù)域名之后的那一段去判斷,比如查找2110274.htm
是拿 gold/guandian/2010-12/2110274.htm 去/backup下去查找 有的話 就將/bacup下的拷貝到我說的路徑下去,就在/var/www/html/目錄下建立相應(yīng)子目錄
最后2110274.htm 就在/var/www/html/gold/guandian/2010-12/這個(gè)目錄下
作者: blackold    時(shí)間: 2014-12-03 16:10
回復(fù) 9# kakaliu


    try:
假定目錄存在
  1. #!/bin/sh

  2. htmlpre=/var/www/html
  3. bakpre=/backup

  4. cd $bakpre

  5. for i in $(<urfile)
  6. do
  7.     i=${i#http://*/}
  8.     if [ -e $i ];then
  9.         cp -Ri --parents $i $htmlpre
  10.     fi
  11. done
復(fù)制代碼

作者: jason680    時(shí)間: 2014-12-03 17:45
回復(fù) 9# kakaliu

$ find /backup | grep -E '(htm|g)$'
/backup/gold/guandian/2010-12/2113423.htm
/backup/gold/guandian/2010-12/2110274.htm
/backup/html/2014/c203_0217/W020140217370194853792.png
/backup/html/2014/c203_0323/W020140323327068017183.jpg

$ find /var/www/html/ | grep -E '(htm|g)$'

$ cat html.log
httpx://www.xxx.com.cn/gold/guandian/2010-12/2110274.htm
httpx://www.xxx.com.cn/gold/guandian/2010-12/2113423.htm
httpx://www.xxx.com.cn/html/2014/c203_0217/W020140217370194853792.png
httpx://www.xxx.com.cn/html/2014/c203_0323/W020140323327068017183.jpg

Note: the "httpx" is "http" in file

$ awk -vsrc="/backup" -vdes="/var/www/html" -F"/" '{p="";for(n=4;n<NF;n++){p=p$n"/"};cmd="mkdir -p "des"/"p";\n cp " src"/"p $NF" "des"/"p; print(cmd)}' html.log
mkdir -p /var/www/html/gold/guandian/2010-12/;
cp /backup/gold/guandian/2010-12/2110274.htm /var/www/html/gold/guandian/2010-12/
mkdir -p /var/www/html/gold/guandian/2010-12/;
cp /backup/gold/guandian/2010-12/2113423.htm /var/www/html/gold/guandian/2010-12/
mkdir -p /var/www/html/html/2014/c203_0217/;
cp /backup/html/2014/c203_0217/W020140217370194853792.png /var/www/html/html/2014/c203_0217/
mkdir -p /var/www/html/html/2014/c203_0323/;
cp /backup/html/2014/c203_0323/W020140323327068017183.jpg /var/www/html/html/2014/c203_0323/

# Note: check output information(shell command) without issue and change the "print" to "system" to run the command

$ awk -vsrc="/backup" -vdes="/var/www/html" -F"/" '{p="";for(n=4;n<NF;n++){p=p$n"/"};cmd="mkdir -p "des"/"p";\n cp " src"/"p $NF" "des"/"p; system(cmd)}' html.log

$ find /var/www/html/ | grep -E '(htm|g)$'
/var/www/html/gold/guandian/2010-12/2113423.htm
/var/www/html/gold/guandian/2010-12/2110274.htm
/var/www/html/html/2014/c203_0217/W020140217370194853792.png
/var/www/html/html/2014/c203_0323/W020140323327068017183.jpg






歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2