А perl
подход:
$ perl -pe 's/=(.+?)(&|$)/=FUZZ$2/g' file
http://example.com/mall/mall/detail3.jsp?proID=FUZZ
http://example.com/mall/member/member/bookshelves/add.jsp?proID=FUZZ&productName=FUZZ
http://example.com/mall/bestbookTW//mall/detail3.jsp?proID=FUZZ&c=FUZZ&id=FUZZ
Идея состоит в том, чтобы заменить все строки после =
и до следующего &
или конца строки($
)на FUZZ
.
Чтобы изменить исходный файл вместо печати на стандартный вывод, используйте-i
:
perl -i -pe 's/=(.+?)(&|$)/=FUZZ$2/g' file
Как вариант, с помощьюsed
:
$ sed -E 's/=([^&]*)/=FUZZ/g' file
http://example.com/mall/mall/detail3.jsp?proID=FUZZ
http://example.com/mall/member/member/bookshelves/add.jsp?proID=FUZZ&productName=FUZZ
http://example.com/mall/bestbookTW//mall/detail3.jsp?proID=FUZZ&c=FUZZ&id=FUZZ
Снова используйте -i
для редактирования исходного файла:
sed -i -E 's/=([^&]*)/=FUZZ/g' file
Такой же подход можно использовать и с perl
:
perl -i -lpe 's/=([^&]*)/=FUZZ/g' file