linux中sed在指定字元前後新增內容

2022-04-07 10:22:46 字數 1580 閱讀 8872

假設文件內容:

1 [root@localhost ~]# cat /tmp/input.txt

2null

3000011112222

45 test

1.要求:在1111之前新增aaa,方法如下:

sed -i 's/指定的字元/要插入的字元&/'  檔案

1 [root@localhost ~]# sed -i  '

s/1111/aaa&/

' /tmp/input.txt

2 [root@localhost ~]# cat /tmp/input.txt

3null

40000aaa11112222

56 test

2、要求:在1111之後新增bbb,方法如下:

sed -i 's/指定的字元/&要插入的字元/'  檔案

1 [root@localhost ~]# sed -i  '

s/1111/&bbb/

' /tmp/input.txt

2 [root@localhost ~]# cat /tmp/input.txt

3null

40000aaa1111bbb2222

56 test

3、要求:(1) 刪除所有空行;(2) 一行中,如果包含"1111",則在"1111"前面插入"aaa",在"11111"後面插入"bbb"

1 [root@localhost ~]# sed '

/^$/d;s/1111/aaa&/;s/1111/&bbb/

' /tmp/input.txt

2null

30000bbb1111aaa2222

4 test

4、要求:在每行的頭新增字元,比如"head",命令如下:

1 [root@localhost ~]# sed -i '

s/^/head&/

' /tmp/input.txt

2 [root@localhost ~]# cat /tmp/input.txt

3headnull

4head000011112222

5head

6 headtest

5、要求:在每行的尾部新增字元,比如"tail",命令如下:

1 [root@localhost ~]# sed -i '

s/$/&tail/

' /tmp/input.txt

2 [root@localhost ~]# cat /tmp/input.txt

3headnulltail

4head000011112222tail

5headtail

6 headtesttail

linux中sed在指定字元前後新增內容

假設文件內容如下 12 345 root localhost cat tmp input.txt null 000011112222 test 要求 在1111之前新增aaa,方法如下 sed i s 指定的字元 要插入的字元 檔案12 3456 root localhost sed i s 111...

sed在指定行插入新行

前些天備份使用mysqldump備份出的資料檔案 insert形式 裡面的內容沒有use db name這個語句,所以如果在指令碼中執行,那麼會提示no database selected,所以就想在裡面新增乙個use db name的語句。但是因為資料檔案太大,如果直接vim開啟恐怕不行。所以想到...

jq 擷取指定字元前 Python中字串的切片

切片方法適用於字串,列表,元組 注意 指定的區間是左開右閉型 從頭開始,開始索引數字可以省略,冒號不能省略 到末尾結束,結束索引數字可以省略,冒號不能省略。步長預設為1,如果連續切片,數字和冒號都可以省略。字串 開始索引 結束索引 步長 str hello world a str 1 print a...