ディレクトリ内のすべてのファイルで文字列の一部を見つけて置き換える

ディレクトリ内のすべてのファイルで文字列の一部を見つけて置き換える

私のコードベースには次の行があります。

@driver.find_element(:link, "Create").click

時々、「(」と「)」の中に文字列があるかもしれません。

たとえば、@driver.find_element(:name, from_email).click

行を変更したい

@driver.find_element(:link, "Create").click

そして

@driver.find_element(:name, from_email).click

〜のように

click(:link, "Create")

そして

click(:name, from_email)

@driver.find_element私は角かっこと角かっこ内の単語を維持するために交換したいと思いますclick

さまざまなフォルダレベルのファイル間でこれを行う方法はありますか?

ベストアンサー1

ディレクトリ内のすべてのファイルで文字列の一部を置き換える

探す+sed解決策:

find yourfolder -type f -print0 \
    | xargs -0 sed -i.bak -E 's/@driver\.find_element\(([^()]+)\)\.click/click(\1)/'

おすすめ記事