タグ

sedに関するpapiroのブックマーク (9)

  • 行番号を付加する(シェルスクリプト) - arterminalのブログ

    課題 後続の処理で利用するためにパイプラインを流れるデータに行番号を付加したい。 解決法 以下のような方法がある。 nl コマンドを利用する awk コマンドを利用する sed コマンドを利用する cat コマンドを利用する nl コマンドを利用する nl コマンドは正真正銘の POSIX 規定のコマンドである(nl - The Open Group Publications Catalog)。 しかし、イマイチ知名度が低いせいか、自分の周囲ではこれを使う人をあまり見ない。 以下は利用例である。 ただし、データに空行が含まれている場合、デフォルトでは空行での行番号の付加がスキップされてしまう。 それでは困るというときは -b オプションで a (Number all lines)を指定すると良い。 $ find /usr/bin | nl | head 1 /usr/bin 2 /usr/

    行番号を付加する(シェルスクリプト) - arterminalのブログ
  • 「第28回シェル芸勉強会 大阪サテライト」レポート

    04/22(土)に東京で行われた「jus共催 第10回初心者向けなのかと百条委員会化する午前のシェル勉強会/第28回基準値を超えるシェル芸勉強会」について、今回も大阪でサテライトしました! イベント情報 東京(家) jus共催 第10回初心者向けなのかと百条委員会化する午前のシェル勉強会/第28回基準値を超えるシェル芸勉強会 問題:【問題のみ】第28回基準値を超えるシェル芸勉強会 – 上田ブログ 模範解答付き:【問題と解答】第28回基準値を超えるシェル芸勉強会 – 上田ブログ togetter:第28回基準値を超えるシェル芸勉強会 - Togetterまとめ 今回も、大阪(私達)と、福岡でサテライト会場がありました。 大阪サテライト 第28回シェル芸勉強会 大阪サテライト : ATND 福岡サテライト 第28回シェル芸勉強会:福岡サテライト : ATND ぱぴろん(@papiron)さん

    papiro
    papiro 2017/04/29
    相変わらずTL大会がしゅごい!
  • sed で足し算 - 兼雑記

    sed って足し算くらいできるんじゃないかと思ったので作ってみました。 http://shinh.skr.jp/koneta/add.sed i@um ~> echo 1 1 | ./add.sed 2 i@um ~> echo 999 999 | ./add.sed 1998 i@um ~> echo 12345 54321 | ./add.sed 66666ICFPC のクソ(誉)言語どもに比べれば sed はマシなんじゃという疑念が… と、このあたりで 神々の偉業 のすさまじさ(っていうかfor知らずにgotoとifだけでコード書いちゃうような若気の至りとかを感じる側面はあるんだけど)がわかってきたので良かった。偉くなるのは無理でも、偉い人の偉さは知りたいよねみたいな。

    sed で足し算 - 兼雑記
  • sedコマンドで覚えておきたい使い方12個(+3個) | 俺的備忘録 〜なんかいろいろ〜

    LinuxやUNIXを使う上で、ある程度使えると非常に便利な置換コマンドが、このsedコマンドだ。 今回は、このsedコマンドで覚えておきたい使い方について紹介する。 なお、今回の置換・編集の例として、以下のファイルを用いて説明する。 [root@test-centos7 work]# cat /root/sed_test.conf # line 1 line1=enable # line 2 line2=disable # line 3 line3=enable # line 4 line4=enable 1.基的な使い方 sedコマンドの基的な使い方としては、以下のようにコマンドを実行することでファイル・標準出力の内容で文字列の置換を行う事だ。 なお、条件の最後に「g」を付けないと、"最初に、マッチした箇所のみ"置換するので注意。 ファイルの内容を置換する場合 sed 's/置換前

  • Newlines in sed on Mac

    Dec 5, 2010 • nlfiedler For whatever reason, this is harder than it should have been. All I wanted to do was replace a particular expression with a newline character (0x10). My preference is typically to script such tasks, and the sed command is the perfect fit. This would be simple on just about any system, except for Mac OS X, where apparently all the standard advice is difficult to apply. Worse

    papiro
    papiro 2015/05/13
    BSD版sedで改行の指定方法。
  • Tailしながらsed,awk等をノーバッファで快適に使う。 - 自分の仕事を憎むには人生は余りにも短い

    tail -f した結果をsed,awkしてるとバッファリングされてしまい、ぬるぬる感がなくなっていやですよね。 これは各プロセスがバッファするためなので、バッファしないように指定してあげましょう。 各コマンドのノーバッファの設定は以下の通り。 awk {fflush()} grep --line-buffered sed --unbuffered なのでこんなかんじで快適。 tail -f app.log | grep --line-buffered Grapon | sed --unbuffered -e "s/hoge/hage/" | awk -f '{print $2}{fflush()}'

    Tailしながらsed,awk等をノーバッファで快適に使う。 - 自分の仕事を憎むには人生は余りにも短い
    papiro
    papiro 2015/01/07
    sed、awk、grepのフィルタコマンドでバッファリングさせない。ログ監視などで必要になる。
  • grep, awk, sed でバッファしない方法 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、TechscoreBlogのログ閲覧が日課になっている河野です。 ログをtailでリアルタイムに見ているときに、grep, awk, sedと組み合わせることがあります。ところが、特にオプションを指定しないと、各コマンドでバッファされてしまうので、ログの表示が遅延することがあります。単にアクセス状況を眺めているだけなら問題ありませんが、チューニングしてる時とか気になりますよね。 そんなわけで、今回はバッファさせない方法を紹介します。 grep : --line-buffered grepでのオプションです。正確にはバッファさせないのではなくて、1行毎に出力するというオプションです。 tail -f logfile | grep --line-buffered -vE '\.(css|js|ico|png|gif|jpe?g)'

    papiro
    papiro 2015/01/07
    grep、awk、sedでバッファさせない。ログ監視とかで必要になる。
  • sedを使って標準出力を逆順に変換できるらしい

    % jot 10 | sed -n -e '1!G;h;$p' 10 9 8 7 6 5 4 3 2 1 さて、各オプションを読み解いていきます。 「-n」オプション デフォルトではパターンスペースが毎行自動的に出力されますが、このオプションはそれを抑制します。 pコマンドで明示的に出力しない限り、出力されないようになります。 「-e '1!G;h;$p'」オプション 「-e」オプションで、sedスクリプトを記述しています。このsedスクリプトはセミコロン区切りです。ここに現れるコマンドの意味は、以下のとおりです。 > h パターンスペースの内容をホールドスペースにコピーします. G ホールドスペースの内容をパターンスペースの末尾に追加します. p パターンスペースの内容を出力します. また、「1!」は「1行目以外」、「$」は「最終行」の意味です。つまり、 1行目では「h」

    papiro
    papiro 2015/01/02
    sedのパターンスペースとホールドスペースを使ってtacやtail -rと同じことをする
  • sed -n -e "/はじまり/,/おわり/p" 複数行をsedで取得する - エンジニア的なネタを毎週書くブログ

    昨日知って感動した表現。これで、「はじまり」を含む行から「おわり」を含む行までを抽出できます。 たとえば、こんな hoge.html があったときに(h1が複数行に渡るってあんまないか、、、 でもあったんだよぅ) … <body> <h1> <a href="hogehoge">サンプルページのタイトルだよ。</a> </h1> <div class="text"> この辺から文っすかね … $ sed -n -e "/<h1>/,/<\/h1>/p" hoge.html とやると <h1> <a href="hogehoge">サンプルページのタイトルだよ。</a> </h1> こうなります。 始めはどういう理屈かぜんぜん分からなかったのですが、 sedの条件式の 行数,行数⇒ 指定した行数間の文字列を処理する。 の応用なんですね。 /はじまり/ と /おわり/ が実はそれぞれ行数を返

    sed -n -e "/はじまり/,/おわり/p" 複数行をsedで取得する - エンジニア的なネタを毎週書くブログ
    papiro
    papiro 2014/12/17
    複数行マッチのやり方。行の範囲指定の使い方がポイント。sedは奥が深い・・・
  • 1