Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

shellscriptに関するdynamicsoarのブックマーク (5)

  • bashで変数を正規表現で置換して変数に代入する方法

    bashで変数を置換して変数に代入する方法を紹介します。 ネットで上記の方法を調べたのですが、bashの変数を正規表現の入力にしたりとか、置換結果を変数に代入する記事があまりみつからなかったので、このエントリーでまとめておきます。 ビギナーの方向けの内容です。文字列置換ではsedを前提とします。 1.問題点 例えば、 00012345 というテキストを含むファイル「foo.txt」から「12345」を抜き出したい場合、コマンドラインで次のように実行します。 #!/bin/sh sed -e "s/[0]*\(12345\)/\1/" foo.txt 上記の内容を「foo.sh」というファイルに保存して実行すると、標準出力に「12345」を出力します。 % ./foo.sh 12345 ですが、以下のことが分かりません。 テキストファイルではなく、bashの変数を入力にしたい 置換後の内容を

    bashで変数を正規表現で置換して変数に代入する方法
    dynamicsoar
    dynamicsoar2019/09/01非公開
    全く同じところで詰まっていたので助かった…
    • Wait for a process to finish

      Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around thetechnologies you use most. Learn more about Collectives

      Wait for a process to finish
      dynamicsoar
      dynamicsoar2019/02/21非公開
      “tail --pid=$pid -f /dev/null” まじか…
      • シェルのコマンド履歴から再利用、のいろいろ - 元RX-7乗りの適当な日々

        覚えていると、たまに便利かもしれない"bash"のコマンド履歴の展開に関する技を、例を交えながらまとめてみました。 最後にも書きましたが、他にもたくさんありますので、色々試してみてください。 直前に実行したコマンドを実行 "!!"コマンドで、1つ前に実行したコマンドを再度実行できます。 $ ls -l 合計 0 -rw-rw-r-- 1 rx7 rx7 0 2009-02-26 02:20 test $ !! ls -l 合計 0 -rw-rw-r-- 1 rx7 rx7 0 2009-02-26 02:20 test n個前に実行したコマンドを実行 "!-n"コマンドで、n個前に実行したコマンドを再度実行できます。 例えば、以下の例では、"!-2"とすると、2個前に実行したコマンドを実行しています。 $ ls test $ ls -l 合計 0 -rw-rw-r-- 1 rx7 rx7

        シェルのコマンド履歴から再利用、のいろいろ - 元RX-7乗りの適当な日々
        dynamicsoar
        dynamicsoar2019/02/18非公開
        “":p"を付けることで、実行されるコマンドが表示される"だけ"で、何のコマンドが実行されるのかを確認” これをやりたかった
        • find -exec でパイプを使った複数コマンドを実行する

          find -exec の中でパイプを使って複数コマンドを実行する方法について説明します。 パイプを使った実行例 ここでは、カレントディレクトリ以下にあるファイルの中身を全て小文字にするコマンドを書くことを例に説明していきます。 一つのファイルだけであれば、次のコマンドでできます。 cat input.txt | tr 'A-Z' 'a-z' > input.txt.lower これをそのまま、find -exec で実行しようとしても上手く動きません。 # 動かない例 find . -type f -name '*.txt' -exec cat {} | tr 'A-Z' 'a-z' > {}.lower \; 原因は -exec の後ろには1つのコマンドしか取れないからです。 find でパイプを使う方法 代わりに、sh -c "実行したいコマンド" と書くことで複数のコマンドを一つのコ

          find -exec でパイプを使った複数コマンドを実行する
          dynamicsoar
          dynamicsoar2018/12/19非公開
          ワンライナーにこだわらないで for-in を使え、という教え。ありがたい。
            • 残りのブックマークを読み込んでいます1

            お知らせ

            公式Twitter

            • @HatenaBookmark

              リリース、障害情報などのサービスのお知らせ

            • @hatebu

              最新の人気エントリーの配信

            処理を実行中です

            キーボードショートカット一覧

            j次のブックマーク

            k前のブックマーク

            lあとで読む

            eコメント一覧を開く

            oページを開く

            はてなブックマーク

            公式Twitter

            はてなのサービス

            • App Storeからダウンロード
            • Google Playで手に入れよう
            Copyright © 2005-2025Hatena. All Rights Reserved.
            設定を変更しましたx

            [8]ページ先頭

            ©2009-2025 Movatter.jp