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

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

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

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

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...

linux如何快速刪除大檔案的第一行

使用如下命令可以刪除檔案的第一行 sed 1d filename find txt xargs sed i 1d 不怕你檔案大,也不怕你檔案多,linux一行命令搞定!sed d 1d filename 是刪除第一行 sed i 1d filename 是插入第一行 可以用sed命令實現 1 刪除文...

如何刪除中的某,如何刪除word文件中的某一頁

怎麼刪除word中的一頁?刪除word文件中的某一頁的方法 1 全選要刪除頁內容,點delete鍵,即可 2 若擬刪除頁是空白且無任何標記,可先點 開始 顯示段落標記 令空白頁顯示段落標記,全選段落標記,重複1的操作即可。3 在word中插入一張 並使該 充滿當前頁時,會在當前頁後面產生一個空白頁。...