Shell擷取文字一段區間的方法

2021-09-22 02:24:24 字數 716 閱讀 9984

**:

假設檔案 text.txt 內容如下:

...... 

************xx

yyyyyyyyyyyyyyyy

zzzzzzzzzzzzzzzzzzz

start_mark ******

10  aaaaa  bbbb  cccc

20  aaaaa  bbbb  cccc

30  aaaaa  bbbb  cccc

40  aaaaa  bbbb  cccc

......

yyyyy end_mark

......

現要擷取 start_mark 所在行與 end_mark 所在行之間的文字。注意,最終擷取的文字不包括 start_mark 行和 end_mark 行。

可以使用如下 sed 命令:

sed -n '/^start_mark/,/end_mark$/p' text.txt | grep -ev '(^start_mark|end_mark$)' | cut -f 1,2
通過上述命令,我們完成了擷取一段文字,並且還過濾出了所要列的內容。其結果是得到了如下內容:

10  aaaaa 

20  aaaaa

30  aaaaa

40  aaaaa

Shell擷取文字一段區間的方法

假設有一段日誌,我需要擷取2019 09 23到2019 09 29之間期間的日誌。那麼,我利用shell怎麼去擷取呢 實現方法 sed n 2019 09 23 2019 09 29 p log.txt sed n a bp file這個就是擷取a和b之間的字元,包括a和b為什麼在a前面加上乙個 ...

String擷取一段

1.若知道要從第幾個位置開始擷取,可以直接選用substring 方法 2.若不知道要從哪邊開始擷取,但是知道string中要從哪段開始,只是要中間一段字串 如 string str age 20 address sz name mason int begin str.indexof address...

一段部署shell

一段部署shell usr bin env bash 目標伺服器ip host 1 目標伺服器端口 port 225 部署目錄 deploy dir 2 環境 env 3 備份目錄 bak dir deploy bak bak file api date y m d h m s tar.gz run...