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

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

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中怎麼拷貝檔案到指定目錄下

1 copy cp,該命令的功能是將給出的檔案或目錄拷貝到另外一個檔案或目錄中。語法 cp 選項 原始檔或目錄 目標檔案或目錄。2 在 test目錄下新建test1和test2兩個子資料夾。假設複製原始檔test1下的test01檔案,目標目錄為test2。直接可以用 cp test test1 t...

LINUX中如何不經過排序刪除檔案中重複的行(相同行,只保留

樓上 uniq必須是連續的重複才行把 用awk肯定行 這是一個cu的精華帖,差不多,對於你的問題你給稍等我修改一下。ps感謝紅袖添香大姐 cu精華 經典回顧 假設我有如下檔案 cat aa 123 def1 456 345 def2 812 123 def3 563 322 def4 684 123...

怎麼用python讀取檔案裡指定行的內容,並匯入excel

如果檔案不大,建議使用下面的方法。由於linecache會快取,所以對大檔案可以使用自己簡單是實現getline如下 def getline thefilepath,desired line number if desired line number 1 return for current lin...