幾個有用的shell腳本

jopen 9年前發布 | 5K 次閱讀 Shell

?(1)在shell下,操作hadoop目錄,批量命名或刪除,最終的命令sed的正則貪婪替換,看下面的腳本: ?

  1. # 遍歷 hadoop 目錄下的文件名  
      
    for line in `hadoop fs -ls /user/d1 | gawk '{ print $8 }' `  
    do  
      
    #echo $line;     
      
    #將2級目錄下的文件,移動到上一級  
    #hadoop fs -mv $line"/tmp_search_keywords_cate_stat/*"  $line ;  
    #刪除2級目錄  
    #hadoop fs   -rm -r  $line"/tmp_search_keywords_cate_stat"  
      
    for line2 in `hadoop fs -ls $line  | gawk '{ print $8 }'   `  
      
    do  
      
    echo $line2 ;  
      
    #將/tmp/a/b 使用sed變成/tmp/a_b 注意下面的正則式子  
      
    newname=`echo $line2 | sed -e 's/\(.*\)\//\1_/' ` ;  
      
      
    #echo $newname;  
      
    hadoop fs -mv $line2   $newname  
    done  
    done

(2)記錄當前啟動的進程id,并以后臺方式掛起運行,腳本例子如下: 

[search@fse4 solr]$ cat start.sh   
#下面的代碼,將當前啟動的上次啟動的進程id記錄下來  
#方便關閉時,kill掉  
  
#$$記錄當前的進程id,$!記錄上次啟動的進程id  
#nohup 是后臺掛起線程方式運行,并將日志文件輸出到nohup.out里面,進行監控   
nohup java -jar start.jar  &> nohup.out &  echo $! >pid&  
  
#echo $$ > pid  
[search@fse4 solr]$




(3)linux下,將字符串日期,格式化為時間戳: 

[search@fsedump01sand tempshell]$ date -d '2015-12-01' +%s  
1448899200

   


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!