タグ

ブックマーク / jarp.does.notwork.org (4)

  • xargsの罠 - Just another Ruby porter, 2015-1-c

    ■ sedでも対応してみる awkの$3は3つあることを確認している。 つまりsedでも3個あることを確認すればいい。 フィールドが3個ということは区切りは2個なので/ .* /でok。 % seq 100|xargs -n3|sed '/ .* /s/[^ ]*$/Fizz/'|xargs -n5|sed '/ .* .* .* /s/[0-9]*$/Buzz/'|xargs -n1 ちょっと不恰好だけど、正規表現で条件を書けばいける。 ■ readの挙動 while read lineで読んでいるときに最終行に改行がないとループを抜けてしまう。 だが、read自身はちゃんとlineへ反映させているのであった。 % bash -c 'echo -n foo | while read line; do echo $line; done' % bash -c 'echo -n foo | {

    papiro
    papiro 2015/06/10
    xargs使う時の注意点。行の最後に空白があった場合や、並列処理の場合。
  • 入力ファイルへのリダイレクト問題 #シェル芸 - Just another Ruby porter, 2015-5-a

    Amazon::SimpleDB::ClientがRecursive dependencyでインストールできない まあ、そういうわけでamazon-simpledb-cliがインストールできなくて、 他の方法を探していたというのが昨日の真相。 % cpan Amazon::SimpleDB::Client Reading '/home/eban/.cpan/Metadata' Database was generated on Sat, 02 May 2015 01:29:02 GMT Running install for module 'Amazon::SimpleDB::Client' Fetching with LWP: http://www.cpan.org/authors/id/D/DT/DTRISCHUK/Coro-Amazon-SimpleDB-0.04.tar.gz

    papiro
    papiro 2015/05/05
    入出力のタイミングを変えてinodeを変える・・・マニアック
  • Just another Ruby porter, 2015-4-b

    ■ 13. col1.txtとcol2.txtをマージ #awk awk万能。 % awk '{getline col2 < "col2.txt"; print $1 "\t" col2}' col1.txt $2へ読み込むという方法もある。 % awk '{getline $2 < "col2.txt"; print}' OFS='\t' col1.txt さらにゴルフするとprintも省略できる。 % awk 'getline $2 < "col2.txt"' OFS=\\t col1.txt ■ 14. 先頭からN行を出力 #シェル芸 headをsedやawkで。 % sed -n '1,10p' hightemp.txt % sed '1,10!d' hightemp.txt % awk 'NR==1,NR==10' hightemp.txt % awk 'NR<=10' high

    papiro
    papiro 2015/04/15
    headだとリターンコードが悪質なので、sedやawkでやる場合、無駄に最後まで読むのを防ぐ方法。
  • xargsの-Iオプション - jarp,

    ■ ネットオフからの入荷メールを見逃す 見逃すといっても朝来たメールを夜読んだというぐらいなんだけど、すでに買われていた。 最近メールはひどい時は1週間ぐらい読まないときもあるので、 別の手段で通知させることにした。 iftttを使うとgmailの検索機能+pocketに保存ってことができるので、 subjectを拾ってpocketで見ることにしてみた。 次はちゃんと気づけるか。 ■ バックグラウンドで動かしたプロセスをCTRL+Cで殺す方法 シェルスクリプトの中で&つけて実行してwaitで待つってのはよくやると思うが、 CTRL+Cで殺すとそいつらが残ってしまいkillしまくるというのもよくある。 そこでぐぐると、Stack Overflowでこんな記事が見つかった。 kill background process when shell script exit いろいろ方法はあるようだけ

  • 1