タグ付けされた質問 「regular-expression」

正規表現は、文字列内の文字のパターンを照合する手段です。


4
grepを使用して固定数の文字で文字列を照合する
を6使用してすべての文字の単語を検索しようとしていますgrep。私は現在これを持っています: grep "^.\{6\}$" myfile.txt :しかし、私はまたのような結果を取得していますことを発見していますétuis、étude。 e上記の言葉の上の記号に何か関係があると思います。 これが起こらないようにするために私ができることはありますか? ご協力いただきありがとうございます!

7
最後のx個の出現を除く文字を置き換えます
次のようなIPに関連付けられた一連のホスト名を持つファイルがあります。 x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int.test.example.com 59.2.86.3 super.awesome.machine 123.234.15.6 次のようにしたい: x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int-test-example-com 59.2.86.3 super-awesome-machine 123.234.15.6 どうすれば交換できますか?(ドット)最初の列から-(ハイフン)を付けて、2番目の列によるソートを容易にしますか?最初のスペースまでsedを使用してドットを置き換えるか、最後の3つを除くすべてのドットを置き換えることを考えていましたが、正規表現とsedを理解できません。単純な置換を実行できますが、これは私の頭の上の方法です! これは、私がbashで書いている大きなスクリプトの一部です。この部分で行き詰まっています。

1
特定の長さ以下の単語のgrep
i log for E M, i 1 f x i 0, I xi 1, 3 1,.文字数に基づいて単純にgrepする方法を探しています。 この架空の出力では、3文字を超えるものはありません。この架空のワンライナーは次のようになりgrep -v [:alnum:] > {3}ます。(ただし、それをgrep構文で記述する方法がわからないだけです。)

1
bashスクリプトパラメータの悪用は可能ですか?
Webフォームからbashスクリプトに電子メールアドレスを渡したいのですが。次の正規表現を使用しています。 /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/ これで十分ですか?または、エクスプロイトを埋め込むことができますか? スクリプトはPHPから呼び出されます。 system('/usr/local/bin/script.sh "$email"');

1
grepを使用した無効な後方参照
つまり、1つの文字が3回繰り返され、その後に別の文字が3回繰り返される6文字の単語を見つけようとしています。たとえばaaabbbまたはoookkk。 やっています: grep -E "[a-z]\1{3}\S[a-z]\1{3}" filename まず、正規表現は正しいですか?第二に、なぜ私は得るのgrep: Invalid back referenceですか?

2
「sed」内でコマンドを実行する
テキストファイルに保存されたランダムメモリアドレスのリストがありsedます。それらを取り出してデコードし、ファイルに保存する必要があります。ただし、実行しようとしているデコード操作は、少し前に作成したC ++プログラムで処理されます。現在直面している問題は、sedコマンド内でC ++を実行することです。つまり、デコードが必要な部分を後方参照し、それをC ++プログラムの引数として使用したいのです。私は次のコマンドを書きました: cat $1 | sed -r 's/(0[Xx])([0-9A-Za-z]{1,8})/\1`./convAddrs \2`/g'; コマンドを実行しないというこの投稿の回答を読む機会があった前にsed。sedコマンドの実行を許可しないのは本当ですか?もしそうなら、私が書いたコマンドが有効なsedシーケンスであると仮定すると、どのようにそれを書けperlますか?

3
sedを使用して文字列の一部を抽出する
ls lib/oracle-11.2.0.3.0.txt | sed 's/lib.\([oracle.*]\)\.txt/\1/' .txtまでのoracle部分だけでなく、文字列全体を提供しています。 次のようにawkを使用してそれを行うことができますが、sedが目的の結果をもたらさない理由がわかりません。 echo "lib/oracle-11.2.0.3.0.txt" | awk -F/ '{print substr($2,1,index($0,".txt")-1);}'

2
Sed:数字を置き換える
Ubuntuをインストールまたはアップグレードするときに使用するインストールスクリプトを記述しようとしています。修正に問題がありlogrotate.dます: /var/log/ufw.log { rotate 7 weekly missingok notifempty compress delaycompress sharedscripts postrotate reload rsyslog >/dev/null 2>&1 || true endscript } に変更rotate nnnしたいですrotate 99。nnnが任意の桁数(通常は1または2)であっても機能しますが、postrotate回線には影響しません。 私はこれら2つを試しましたが、必要なものはどちらも実行していません(nnnを1、2、または3桁でテストしました)。 sudo sed 's/rotate[0-9]*/rotate 99/' /etc/logrotate.d/ufw sudo sed 's/^rotate[0-9]/rotate 99/' /etc/logrotate.d/ufw

3
ファイル内の2つのマーカー間のテキストを別のファイルのテキストのセクションに置き換える方法は?
にテキストのブロックがあったとしましょう~/.bashrc: #~/.bashrc # ...some commands... # aliases alias suicide='sudo rm -rf /' # end aliases # other commands そのテキストブロックを別のファイルの2つのマーカーの間に含まれる他のテキストで置き換えたいと思います。 stuff-to-place-in-bashrc.txt # stuff-to-place-in-bashrc.txt # ...stuff... # aliases alias ldir='ls * -d' alias ithinklifeisworthliving='echo all good' # end aliases # ...more stuff... 私はもう試した sed -ne 's/# aliases\s+\(.*\)\s+# end aliases/\1/' stuff-to-place-in-bashrc.txt しかし、私はここで暗闇の中で本当に揺れています。誰かが私を助けてくれませんか? からテキストを抽出するにはどうすればよいstuff-to-place-in-bashrc.txtですか? …

4
文字列の一部を変数に抽出するにはどうすればよいですか?
次のようなファイルの行があります。 attempting to create a 512^3 level (with Dirichlet BC) using a 16^3 grid of 32^3 boxes and 800 tasks... 私は、抽出したい512^3、16^3、32^3および800それからの4つの数字と4つの変数にそれぞれ割り当てるlevel、grid、boxesおよびtasksその他の使用のために。 これどうやってするの?

3
句読点を含まないすべての行を印刷します
句読点を含まないすべての行を印刷できる正規表現パターンが必要です: 入力: .This is line 1 This is ! line 2 This is line (3) This is line 4 出力:(する必要があります) This is line 4 これまでに試したこと: grep '[^[:punct:]]' file.txt ただし、句読点以外のすべての文字が表示されます。


4
「locate」と一致する正規表現
Locateコマンドを使用してホームフォルダー内のファイルを検索しようとしていますが、これを実行しようとすると、結果が得られません。 locate -i -l 4 --regexp '^\/home\/jack\/[A-Za-z0-9\/\ ]*(My.)*$' 私も試しました^\/home\/jack\/^(?!\.)[A-Za-z0-9\/\ ]*(My.)*$が、結果も返されません。 それをテストするためだけに私が探しているファイルは /home/jack/Music/Foals/My Number.flac 非表示のファイルの結果を検索から除外したいと思います。

5
一致がn回出現した後の行を出力する
次のファイルの4598行目を表示しようとしています。事実上、一致がn回出現した後に行を表示したい。この場合、の3番目の出現後の行<Car>。これについてどうすればよいですか? <Car> 10456 </Car> <Car> 70192 </Car> <Car> 4598 </Car>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.