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

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

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

如何刪除資料庫中的一行,如何刪除資料庫中某一列的值

刪除資料庫中的一行分為以下幾個步驟 1 通過資料庫訪問客戶端 例如訪問oracle,使用plsql 使用有刪除許可權的使用者登入資料庫 2 執行刪除指令碼 delete from tablename where id 11 這裡假設刪除的表名為tablename,標識要刪除行的欄位為id,值為11 ...

求能指定刪除帶空格路徑檔案的批處理,但不要刪除批處理本身和存放批處理目錄下的檔案請高手幫幫我

我是這麼理解的,字元相當於帶一個空格字元,僅對本目錄下所有檔案操作!後面的雙引號代表第二個引數,相當於變數 0,1,2 你可以試試在後面跟多個路徑,一樣都可以實現的!cmd命令,大多支援多操作物件,rd應該是個例外!刪除c documents and settings administrator m...

07中怎麼刪除某中的頁首下的橫線

刪除頁首下的橫線的方法如下 1.將游標放在要刪除頁首下劃線頁的首部,單擊頁面布 分隔符 分節符 下一節,如圖所示。4.將游標放在要刪除頁首下劃線頁的尾部,重複第1步 第3步,使該頁成為單獨的一節。5.選中該頁的頁首,單擊開始 邊框線 無框線即可。在word中,預設為一節,每節的頁面格式是相同的,若想...