從 txt 檔案中批次清除 URL 參數

從 txt 檔案中批次清除 URL 參數

我有一個包含如下 URL 列表的文件:

www.dell.com/any=abc&anyone=bcd
www.google.co.in 
www.yahoo.com/abc=fgh

我想清理它們,因為它們只顯示等於號的資料。例如上面應該變成:

www.dell.com/any=
www.dell.com/any=abc&anyone=
www.google.co.in 
www.yahoo.com/abc=

對於在 python 或 bash 等中清理這樣的程式碼有什麼腳本建議嗎?

答案1

如果我理解正確的話,您想要應用以下轉換:

  • 如果該行不包含=,則不執行任何操作
  • 如果該行包含單個=,則刪除該行之後的所有內容=
  • 如果該行包含多個=,則重複執行上一步,直到沒有為止,列印每個步驟的中間結果

這是一種方法:

#!/usr/bin/env bash

while read line; do
    if [[ "$line" == *=* ]]; then
        while [[ "$line" == *=* ]]; do
            line=${line%=*}
            echo $line=
        done
    else
        echo $line
    fi
done

如果將其保存在文件中script.sh,則可以像這樣使用它:

./script.sh < input.txt

這將產生您在問題中詢問的輸出。

相關內容