Linux 刪除某檔案中的指定行,求解

2021-07-27 11:17:09 字數 3017 閱讀 6888

1樓:匿名使用者

可以用下面指令碼的方法刪除某檔案的指定行

#!/bin/sh

filename=file.txt # 可換為$1

if [ ! -f file.txt ];then

echo "$filename no found"

exit 1

fiecho -n "input some thing: "

read

if [ ! -z ”$reply“ ];then

info=$(grep $reply filename)

if [ ! -z "$info" ] ; then

sed -i -e '/$reply/d' filename #刪除只用這行就可以了

else

echo "沒有指定內容的資訊"

exit 1

fielse

echo "input some thing"

exit 1

fiexit $?

1. **********==》新增 用sed在文件中間指定行後增加一行有時候我們會用指令碼,來修改文件,比如在文件中增加一行或減少一行

echo "1";

echo "2";

echo "4";

echo "5";如上例子,想要在echo "2";後面加上一條echo "3";可以用如下命令sed -i '/echo \"2\";/a\echo \"3\";' test.sh

之所以用分號,是因為文字中本來就有。也就是說分號不是必須的!抽象出來就是: sed -i '/* /a*' filename

2. **********==》刪除 sed 刪除檔案中的一行內容linux shell指令碼 刪除檔案中的一行內容

比如:在1.txt裡有以下內容:

hello=1

ni=2

world=3

i love china.

love all

....

如果是要刪除第三行:

sed -i '3d' 1.txt

如果刪除以love開頭的行

sed -i '/^love/d' 1.txt

刪除包含love的行

sed -i '/love/d' 1.txt

2樓:廢勁

可以使用過濾:grep ,過濾含有demo的行,然後重新匯入即可。  sed命令也可以做到

cp file file.bak  //先複製個備份,以防出錯

grep -v demo file.bak > file  //過濾掉含有demo的行

3樓:傲慢的王子啊

[root@localhost ~]# cat fileservice tomcat restartping10.0.3.23

echo "demo">>/usr/local/textservice ntpd restart

[root@localhost ~]# grep -v "demo" file > file2

[root@localhost ~]# cat file2service tomcat restartping10.0.3.23

service ntpd restart

樓主只需用grep -v 進行過濾後重新輸出到另外一個檔案就行了。

4樓:匿名使用者

sed -i  '/demo/d' /usr/local/demo

5樓:

使用vi編輯器,使用/demo查詢包含“demo”的行,然後按兩次d,即可將demo所在所刪除!

6樓:匿名使用者

emacs,用m-g g跳到指定行,然後c-k

7樓:匿名使用者

怎麼看著像爆吧貼……

8樓:匿名使用者

sed -i '/demo/d' /usr/local/demo

這樣就行了。

9樓:匿名使用者

用vim開啟,然後:行數,然後dd

linux:刪除某檔案中的指定行,求解

10樓:傲慢的王子啊

[root@localhost ~]# cat fileservice tomcat restartping10.0.3.23

echo "demo">>/usr/local/textservice ntpd restart

[root@localhost ~]# grep -v 'echo "demo">>/usr/local/text' file

service tomcat restartping10.0.3.23

service ntpd restart

重新輸出到檔案就好了。

11樓:

格式為 /正規表示式/

若正規表示式中含有 / 符號,需要用轉義符。否則搞不清正則的起始和終止位置。

試試下面這樣:

sed -i '/echo "demo">>\/usr\/local\/text/d' /usr/local/demo

這個可以直接修改檔案,而grep -v 需要重定向為新檔案,然後再用“mv 新檔案 原檔案”來覆蓋原檔案。

linux如何刪除多個檔案中的指定行

12樓:淘氣的峰

13樓:匿名使用者

那麼多。。。

sed '//d' file

linux中如何根據一個檔案的內容將另一個檔案中的某幾行刪掉

14樓:

#!/bin/bash

cat 2.txt | while read line;dosed -i "/$line/d" 1.txtdone

shell中怎麼刪除檔案中指定行的

1 刪除包含指定關鍵字的行 sed i hello d test temp root host cat test tempworld 2 刪除指定行號的行 sed i 2d test temp root host cat test tempworld 3 sed i 1d a.txt刪首行4 sed...

在linux中,某檔案的許可權為 d rw rr請用數值形式表示該許可權是多少

d代表directory即目錄,因為在linux中的一個檔案 夾 許可權包括宿主許可權 所屬組許可權 其他人的許可權,即分為3段,每一段用rwx來表示,r代表讀,w代表寫,x代表執行,好舉個例子 一個資料夾,其宿主有讀寫執行許可權,其所屬組有讀寫的許可權,其他人只有讀的許可權 表示為drwxrw r...

linux如何刪除只讀的檔案系統

可以先賦許可權,用chmod命令。也還可使用root許可權強行刪除。如 chmod 777 filename rm filename 命令簡介 變更檔案或目錄的許可權。在unix系統家族裡,檔案或目錄許可權的控制分別以讀取,寫入,執行3種一般許可權來區分。1 linux是一套免費使用和自由傳播的類u...