タグ

2017年6月6日のブックマーク (2件)

  • コマンド実行後の標準出力を改行そのままに喰わせたい - マツモブログ

    何が困ったというとbashの下の箇所 any trailing newlines deleted. 英語良く分からないけど改行削除しちゃうぜ!って事でしょう。多分。 で、どういう時かっていうとバッククォートで実行した時。$()も一緒ね。 仰るとおりという↓のテキストを $ cat text.txt a a a b c バッククォートで読ませると改行が消されてる。 $ echo `cat text.txt` a a a b c で、ちょっとやりたい事があったんですけど改行消されてスペースになっちゃってると非常に困った訳です。 コマンドの実行結果をそのまま(改行有りで)喰わせたかった訳なんです。 まず、下のコード(args.pl)を結果をわせりゃ普通に出来るだろと思ってたら・・・・。 args.pl use YAML; warn YAML::Dump(\@ARGV); 実行したら下のような感

    コマンド実行後の標準出力を改行そのままに喰わせたい - マツモブログ
    aroma_black
    aroma_black 2017/06/06
    複数行にわたる標準出力を1行として扱い、全体を見て判定したいという時使える。
  • GNU/BSDでのsedにおける正規表現の扱いの違い

    B! 26 0 0 0 GNU/BSDでのコマンドの違いについて。 今回はsedコマンドの正規表現の取り扱いについてのメモ。 sedでの正規表現 GNU BSD まとめ sedでの正規表現 LinuxにもMacなどBSD系Unixにもsedは入ってますが、 他のコマンドにもあるように GNUのものとBSDのものとでオプション等が多少違います。 前に-iを使ったファイルの置き換えにおける違い や 改行の仕方 について挙げましたが、 今回は正規表現について。 GNU GNU版sedだと、正規表現で使う文字をバックスラッシュ(\) でエスケープすることで特にオプションを付けずに使う事が出来ます。 $ echo aaabbbccc | sed 's/aaa\(BBB\|bbb\)ccc/aaaccc/g' aaaccc BBBとbbbの何れかの文字列に対応する(BBB|bbb)という正規表現を使っ

    GNU/BSDでのsedにおける正規表現の扱いの違い
    aroma_black
    aroma_black 2017/06/06
    homebrewだとgnu-sedという名前でfomulaが存在し、 コマンドはgsed