2017-05-01 7 views
-1

私がしようとしていることを正確に指定してください。私が作ったスクリプトは、イメージを描くXDoToolコマンドを生成します。これはマウスを右に動かす典型的なコマンドです:xdotool mousemove_relative --sync --polar 90 2。ここで問題となるのは、マウスを一度に2ピクセル以上動かす必要がある場合、その距離を移動するのに必要な回数だけ上のコマンドを実行するだけで、画像を描画するのにかかる時間が大幅に増加するということです。コマンドのdistanceパラメータを変更する代わりに(デフォルトでは2に設定されています)これを処理するには、コマンドを含む行の行に複数のオカレンスを探し、コマンドの1つのインスタンスで、上記の行にインスタンスの量を指定して、コマンドだけを探してください距離のパラメータとして設定された2回目のコマンドです。文字列の複数の連続するインスタンスを、古い文字列の変更されたバージョンの単一のインスタンスに置き換えます。

上記のコマンドの連続したインスタンスは、行の唯一の内容であれば置換されることに注意してください。たとえば:コマンド以外の行に他のものがあるので

xdotool click 1; xdotool mousemove_relative --sync --polar 90 2 

が交換されない:

xdotool mousemove_relative --sync --polar 90 4 

が、以下:

xdotool mousemove_relative --sync --polar 90 2 
xdotool mousemove_relative --sync --polar 90 2 

はに置き換えられます。

+0

あなたはより詳細な入力と期待される結果を投稿することができますか? – RomanPerekhrest

+2

@AfterHours:私はdownvotersの1つではありませんが、私はここで何が間違っているかを教えてくれると思います。まず、stackoverflowはコード作成サービスではありません。基本的には、誰かにあなたのために完全なスクリプトを書くように求めています。一般的に、ここの人々はあなたを助けようとしますが、あなたのためにあなたの仕事をしません。第二に、これは間違った解決策のように感じる。最初のスクリプトを修正して、小さな動きではなく単一の大きな動きをするのはなぜでしょうか?最初に存在してはならない問題を解決するための修正を求めています。 –

答えて

0

あなたは使用することができます。

perl -0777 -pe 's/(xdotool m.*) 2\s+\1 2/\1 4/g;' old.txt > new.txt 

enter image description here


Regex Demo

関連する問題