首頁>Linux>source

有一个名為 sites.txt的檔案 並且包含網址较长的動態網站,如下所示:

http://onesite.com/a.php?one=1&two=2&three=3
http://anothersite.com/b.php?one=1&two=2    
http://aaaandanothersite.com/a.php?one=1&two=2&three=3&four=4

而且我必须删除所有引數值,並且輸出如下:

http://onesite.com/a.php?one=&two=&three=    
http://anothersite.com/b.php?one=&two=    
http://aaaandanothersite.com/a.php?one=&two=&three=&four=

如果有正則表達式或快捷方式,我想听听。 但是,如果無法以這種單行方式執行此操作,則站點已经具有for功能,因此也可以逐行處理

最新回復
  • 6月前
    1 #

    使用 sed

    sed -E 's/=[^&]*(&|$)/=\1/g' sites.txt
    

    替換 = 後跟任何字元( \n除外) ewline),但不是 & 性格(零時或零時) [^&]*&結尾的 或 | 行尾 $(&|$) ), with 只是 = 然後返迴捕获的团體 (&|$) 与它的 \1 作為反向引用,即 & 字元或什麼都不表示它是最後一个引數。

  • 6月前
    2 #

    使用Perl,您可以按照以下方式執行某些內容

    perl -ple 's/=[^&=]*/=/g' sites.txt
    

    其中:

      perl -ple exp 等於每行没有终止,print(exp(line))

  • 使用bash擴充套件遞迴建立目錄和檔案
  • root:在Ubuntu wSL上啟動Electron