Shell中的grep、awk和sed的常用命令和文法

Grep的常用命令文法1. 雙引號引用和單引號引用在g r e p命令中輸入字串參數時,最好將其用雙引號括起來。例如:”m y s t r i n g”。這樣做有兩個原因,一是以防被誤解為 s h e l l命令,二是可以用來尋找多個單片語成的字串,例如:”jet plane”,如果不用雙引號將其括起來,那麼單詞 p l a n e將被誤認為是一個檔案,查詢結果將返回”檔案不存在”的錯誤資訊。在調用變數時,也應該使用雙引號,諸如: g r e p”$ M Y VA

source 加要執行的shell script檔案名稱, shell script檔案名稱直接運行於./shell script 的區別

下面的內容基於Linux bash環境在unix中運行shell指令碼的方式有很多種,假設有一個可以啟動並執行指令碼叫test.sh,可以通過source加指令檔名,source test.sh(= . ./test.sh 兩個.), 也可以通過./路徑/test.sh方式運行,如果指令碼在PATH路徑下,還可以位元組通過指令碼名運行,如test.sh。它們之間的區別是:source test.sh的方式讓test.sh在當前的shell

在UNIX上後台運行任務(Shell),bg還是nohup

有時候一個任務啟動並執行時間很長,需要將其放在後台運行,否則推出控制台後任務就會被終止,本文講解一下怎麼讓任務在後台運行。比如一個shell指令碼,longjobs.sh運行要很長時間,並且運行中有資訊列印到控制台。1,如果直接通過

shell 知識點補充(1)-提示字元的設定/read/declare / typeset/變數設定功能/別名/萬用字元與特殊符號

1、PS1:(提示字元的設定)這個比較有意思,可以定製自己的提示符;當我們每次按下 [Enter] 按鍵去執行某個指令後,最後要再次出現提示字元時, 就會主動去讀取這個變數值了。預設的 bash 的 PS1 變數內的特殊符號代表意義:o \d :代表日期,格式為 Weekday Month Date,例如 "Mon Aug 1"o \H :完整的主機名稱。舉例來說,鳥哥的練習機 linux.dmtsai.tw ,那麼這個主機名稱就是 linux.dmtsai.two \h

shell 知識點補充(6)-exit/expr

1、Linux命令之exit - 退出當前shell用途說明exit命令用於退出當前shell,在shell指令碼中可以終止當前指令碼執行,不退出的話,可能會繼續執行後面的程式。 常用參數格式:exit n退出。設定退出碼為n。(Cause the shell to exit with a status of n.) 格式:exit退出。退出碼不變,即為最後一個命令的退出碼。(If n is omitted, the exit status is that ofthe  last 

shell 快捷組合命令及常用命令

!$!$是一個特殊的環境變數,它代表了上一個命令的最後一個字串。如:你可能會這樣:$mkdir mydir$mv mydir yourdir$cd yourdir可以改成:$mkdir mydir$mv !$ yourdir$cd !$直接可以利用!$ 代表上次執行的命令的最後一個字串loongson@LOonux:~$ touch 123loongson@LOonux:~$ vim 123loongson@LOonux:~$ touch 123loongson@LOonux:~$ vim !$

shell 實練(5)if 判斷

練習的小內容:判斷當前檔案夾下是否存在a.txt檔案,若存在則建立a-1.txt檔案;否則建立t.txt檔案;if 的三種條件運算式1、if  條件一;then      command1else     command2ficode:  1 #!/bin/bash  2   3 if  ls|grep a.txt;  then  4         touch a-1.txt  5 else      6         touch t.txt  7 fi     

shell 知識點補充(5)-case . in .esac/function/while done/until done

1、case ... in .... esaccase ... in .... esac ,他的文法如下:case $變數名稱 in"第一個變數內容")程式段;;"第二個變數內容")程式段;;*)不包含第一個變數內容與第二個變數內容的其它程式執行段exit 1;;esac要注意的是,這個文法是以 case 為開頭,而以 esac 為結尾,寫個程式:讓使用者能夠輸入 one, two, three , 並且將使用者的變數顯示到螢幕上,如果不是 one, two, three

shell中$*與$@的區別

2009-09-27 11:40 shell中$*與$@的區別關於$* 和 $@的 一點 認識 同是菜鳥一起學習$*所有的位置參數,被作為一個單詞.注意:"$*"必須被""引用.$@與$*同義,但是每個參數都是一個獨立的""引用字串,這就意味著參數被完整地傳遞,並沒有被解釋和擴充.這也意味著,每個參數列表中的每個參數都被當成一個獨立的單詞.注意:"$@"必須被引用.$@ $*

【實戰】通過Qpopper2.53遠程獲得shell

通過Qpopper2.53遠程獲得shell建立時間:2000-05-27文章屬性:原創文章提交:quack (quack_at_xfocus.org)通過Qpopper2.53遠程獲得shellby quack參考:bufferoverflow secrurity advisory #5 by prizm      * 簡述    Qpopper是使用相當廣泛的POP3伺服器,允許使用者通過POP3用戶端讀他們的信件。    它通常用於標準的UNIX系統裡的郵件服務。    *

調用nc做嗅探的一個bat shell 【ALLyeSNO】

 Term   : FreeXploiT Author : ALLyeSNODate   : 2005-06-21Codz: @echo off :: Ncfoever 1.0 bulid by ALLyeSNO 2005-06-13 :: 可用於tcp連接埠資料包的捕獲 cls ::/* 參數判斷以及使用說明 */ set count=1 if /i "%1"=="-look" goto nclook if /i "%1"=="-log" goto nclog echo. echo =====

關於shell命令的定向輸出 2>&1

mycommand >mylog.txt 2>&1 應該是最經典的用法了。命令的結果可以通過“%>”的形式來定向輸出,%表示檔案描述符:1為標準輸出stdout、2為標準錯誤stderr。系統預設%值是1,也就是“1>”,而1>可以簡寫為>,也就是預設為>。stdout的預設目標是終端,stderr的預設目標為也是終端。我們在批處理中執行: echo text >result.txt ,我們就可以在螢幕上會看到 echo text

統計原始碼行數Shell指令碼[00原創]

今天寫了個統計某個目錄下原始碼行數的Shell指令碼,如下:# !/bin/bashfind . -name *.java > srcFilesPathNamecount=$(wc -l srcFilesPathName)    # 記錄源檔案個數echo "源代檔案個數= $count"while read pathNamedo    countAndPath=$(wc -l $pathName)    echo $countAndPath >> t1done < sr

一個shell中字串替換的小技巧

replace,它是mysql附帶的。 用法(匹配以比較長為準則):replace from  to  [from to] ...  -- 檔案1 檔案2 --後邊的檔案清單也可能改成標準輸入例如:stlxv@stlxvcomputer:~/workspace/DuniyaSystem/gui/vm$ echo "clash" | replace "h" "cc" clascc所以可以很容易寫出這樣的命令,類似DOS中的copy class.*.h

shell中的位置參數$#,$*,$@,$0,$1,$2…及特殊參數$?,$-等的含義

在Bash shell中經常會見到一些比較特殊的符號,本人現收集與此,以供查閱:位置參數:詳見ABS(Advanced Bash Shell)中文翻譯版103頁第9章第一節內部變數,當然英文版ABS都一樣啦$0, $1, $2,等等...位置參數,從命令列傳遞給指令碼,或者是傳遞給函數.或者賦職給一個變數.(具體見Example 4-5 和Example 11-15)$0表示當前執行的進程名,script

shell指令碼直接執行沒有問題,crontab定時執行失敗的解決方案

在實行一個shell指令碼(調用java程式修改一個excel檔案)時,單獨sh可以得到想要的結果。但是放到crontab定時執行後,卻沒有得到一個新的excel檔案,log也沒有報錯。查看了路徑,檔案許可權都沒有問題,最後在網上查了一下,發現這樣可以解決問題:將crontab執行的語句進行修改:  15 11 * * * /home/loganalysis/dealexcel.sh >> /home/loganalysis/error.log 2>&1  修改為: 

shell傳時間段參數

#!/bin/shd1=20111201  d2=20120625  time=$(($(date +%s -d ''$d2'') - $(date +%s -d ''$d1'')));  #日期差t=`expr $time / 86400`  #相差天數for ((i=0;i<=$t;i=i+1))do#echo $d1perl xx.pl $d1d1=`date -d ''$d1' UTC 86400 seconds' +"%Y%m%d"`  done說明:d1=`date -d ''

shell中提取子串

/* *此文參考地址:*////注意:本人使用ubuntu11.4,使用sh  test 運行shell指令碼報錯,需使用/bin/bash  test 運行才能得到正確的結果shell中字串的截取2010-06-24 00:40str="abc123abcABC"#計算字串的長度echo ${#str}    #12#位置參數有關操作echo ${#*}      #位置參數的個數echo ${#@}      #位置參數的個數和上面的效果一樣echo $*        

Unix Shell學習雜記

最近做了一些Unix Shell編程的回顧,其實Unix是個非常優秀的作業系統,也許從易用性和使用者體驗上它不如Window

Ubuntu/Linux Tips (shell 快速鍵)

收集常用技巧,備忘。不定期更新。1. 快速鍵終端快速鍵:CTRL + C: 停止CTRL + Z: 切換到後台CTRL + D: 登出當前會話CTRL + W: 刪除游標前的命令參數CTRL + U: 刪除游標前的所有字元CTRL + K: 刪除游標後的所有字元CTRL + A: 將游標移到最前CTRL + E: 將游標移到末尾CTRL + L: 清屏CTRL + R: 搜尋曆史命令2. 檔案管理檔案搜尋:$ find . -name "*.py[co]"

總頁數: 301 1 .... 112 113 114 115 116 .... 301 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.