タグ

shellに関するrakinoのブックマーク (3)

  • sedで改行を含む複数行の文字列を置換

    sedは読み込んだ行の行末にある改行を削除してパターンスペースと呼ばれるバッファに格納したうえでテキスト処理をし、最後にパターンスペースの内容に改行をつけて出力する。。 だから改行を含む文字列にマッチさせる指定が非常にややこしい。 sedで改行を含む複数行を指定して一気に置換をやろうと一晩なんやかんややってみたけど、朝になったからあきらめてまったくスマートじゃない別な方法で強引に終わらせた。 :loop N $!b loop s/\n//g 一度ファイル内の改行コードを全削除 そのあとに別スクリプトのsedで複数行じゃなくなったファイル内容を文字列指定で置換して、元通り改行コードを入れる置換する。 改行コードを入れる置換は \の後に実際の改行を入れるでok かなりダサい方法だけど一応出力したい結果は得られるから今はいいことにしておく。 sed と改行(1) 入力にない改行の出力入力にない改

    sedで改行を含む複数行の文字列を置換
  • Mosh: the mobile shell

    (mobile shell) Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes. Mosh is a replacement for interactive SSH terminals. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links. Mosh is free software, available for GNU/Linux, BSD, macOS, Solaris, Android, Chrom

  • それブレース展開でできるよ! - 杉風呂2.0 - A Lifelog -

    先日、IRCNet #ruby:*.jp で話題になったのでメモ。 シェルスクリプト中で連番や複数回の繰り返しが必要になった場合、BSD系 (4.2BSD以降・Mac含む) では jot、GNU系では seq を使うことが多い。が、普通は片方しか入っていないし、互換性も全く無いというやっかいな代物。 http://d.hatena.ne.jp/hirata_yasuyuki/20110104/sequential_numbers ということですが、bashやzshなどのシェルで新しめのバージョンであれば、ブレース展開でできますね。 for i in {0..9}; do echo $i #=> 0〜9を出力 done 増加分を考慮する場合は、あらかじめ計算しておく必要がありますが、以下のような感じですね。 for i in {0..4}; do echo $((i*2+1)) #=>奇数の

    それブレース展開でできるよ! - 杉風呂2.0 - A Lifelog -
  • 1