並び順

ブックマーク数

期間指定

  • から
  • まで

561 - 600 件 / 789件

新着順 人気順

shの検索結果561 - 600 件 / 789件

  • Parallel processing in awk?

    Awk processes the files line by line. Assuming each line operation has no dependency on other lines, is there any way to make awk process multiple lines at a time in parallel? Is there any other text processing tool which automatically exploits parallelism and processes the data quicker ?

      Parallel processing in awk?
    • sed でスラッシュを含む文字列を置換したい - Corredor

      sed コマンドでスラッシュ / を含む文字列を置換したくなった。 普通にやるなら、文字列中のスラッシュを \/ とエスケープしてやれば良い。 $ echo 'hoge/fuga' | sed 's/e\/f/E-And-F/' hogE-And-Fuga しかし、別の変数から値を拾って使用したりする時に、イチイチエスケープするのは面倒だ。 そこで調べてみると、sed コマンドの区切り文字はスラッシュ以外の記号でも動くことが分かった。スラッシュ以外の区切り文字を使用すれば、置換文字列中のスラッシュはエスケープが不要になる。 色々試したが、別にアルファベットを区切り文字にしていてもよくて、置換文字列内に登場しない1文字を使っていれば良いみたい。 # 区切り文字にアットマーク `@` を使う例 echo 'hoge/fuga' | sed s@e/f@E-And-F@ # 区切り文字に `X`

        sed でスラッシュを含む文字列を置換したい - Corredor
      • Linuxのtouchコマンドで連番のファイルを大量に作成する方法 | minory

        Linuxでファイルの末尾に指定した行数を一気に追加する方法 以前記事にしたtailを利用したログ監視のテストとして、ログファイルに1行ずつ書く場合は単純にechoコマンドを使えばいいが、ログが一気に出力された時にちゃんと差分を… これまでの流れからすると、繰り返し構文を利用して作成すると思われますが、これからご紹介する内容はforはwhileを使いません。 強いて言うなら、forの条件式だけ書くといったところでしょうか。 本来のtouchコマンドの使い方 Linuxでファイルを作成するときによく使われるコマンドの一つがtouchです。 touchコマンドは、指定したファイルが存在しない場合は空のファイルを作成し、存在する場合は更新日時を変更します。 「touch」は、ファイルの最終更新日を変更するコマンドです。 「touch ファイル名」でtouchコマンドを実行した時間がファイルの最終

          Linuxのtouchコマンドで連番のファイルを大量に作成する方法 | minory
        • bash で json を jq でスマートにループする

          { "text": "test json", "array": [ { "host": "mizuho", "ip": "192.168.0.10" }, { "host": "mahoko", "ip": "192.168.0.11" }, { "host": "tina", "ip": "192.168.0.21" } ] } length とか使って配列数分をループするなんてやり方してたんだけど、そんなこと必要なかった。ふつーに配列の対象(今回なら array) を、そのまま while read に食わせればよかったんだ。 cat test.json | jq -c '.array[]' | while read -r array; do host=$(echo "${array}" | jq -r '.host') ip=$(echo "${array}" | jq -r '.i

            bash で json を jq でスマートにループする
          • catコマンドを実行するたびに🐈を表示するプロンプト|TechRacho by BPS株式会社

            !!!この記事は全体的にあまり役に立たないネタ記事です!!! cat コマンドってあるじゃないですか。ファイルの中身を標準出力に出すやつ。 あれ元々はファイル結合のためのコマンドで、2つのファイルを順に標準出力に出せば結合できるよねって奴で、concatnateがコマンド名の由来らしいんですが、まあそれはどうでもいいです。今回やりたいのは「cat と打ち込んだら🐈が表示される」というただそれだけのネタなので。 FishとかZshとかその他別のシェルを使っている方には申し訳ないんですが、Bashを前提にします。まあそんなに大きなスクリプトではないので(やりたい人がいるかは別として)別のシェル向けに移植するのは不可能ではないとは思います。 プロンプトを変更する方法 Bashのプロンプトは $PS1 という名前の環境変数で表示内容を設定できます。$PS1 の内容の文字列中に $VAR のような

              catコマンドを実行するたびに🐈を表示するプロンプト|TechRacho by BPS株式会社
            • ファイルの絶対パスを取得する - アメリエフの技術ブログ

              こんにちはkubo改めkubo-mです。地図アプリがないと目的地にたどり着けない方向音痴です。 家族にある場所への道順を「北に向かって進んでから〇〇で東に折れて……」と説明されて、「歩いている最中に方角なんてわからないから、右に曲がるか、左に曲がるかで教えて」と訴えたところ、家族には「相対的に地図を見る派なんだね」と評されました。そんな派閥聞いたことない。 Linuxでも、ファイルやディレクトリの場所を示すのに、絶対パスと相対パスの2種類の示し方があります。 絶対パスは、ディレクトリ構造の一番上(/)からファイルやディレクトリの場所を示す方法です。コマンド実行時にどんなディレクトリにいても、特定のファイルやディレクトリを指す絶対パスは同じになります。 相対パスは、コマンド実行時の位置から見て、ファイルやディレクトリの場所を示す方法です。 「ひとつ上のディレクトリにあるファイルpiyo」 「

                ファイルの絶対パスを取得する - アメリエフの技術ブログ
              • 【Bash】 スクリプト中のaliasコマンドが実行できない - takafumi blog

                環境   archlinux 4.14.4-1 非インタラクティブモードではaliasは展開されない。 非インタラクティブとは $ bash test.sh みたいに実行する事。 普通に実行すると以下のようになる $ cat ~/.bashrc alias ll='ls -la' $ bash test.sh test.sh: line 5: ll: command not found BASH_ENVで.bashrcを読み込ませてみる $ BASH_ENV=~/.bashrc bash test.sh alias ll='ls -la' test.sh: line 5: ll: command not found aliasは読み込まれるが、実行しようとすると展開されない。 対処法 man bashにちゃんと書いていた。 Aliases are not expanded when the

                  【Bash】 スクリプト中のaliasコマンドが実行できない - takafumi blog
                • SSH で毎回パスフレーズを入れるのが面倒だと思ったときには - Qiita

                  SSH で公開鍵認証を使う時に毎回パスフレーズを入れるのは面倒ですよね? そこで、よい仕組みがあります。 それが ssh-agent と ssh-add です。 細かい話は置いておきますが、この二つを組み合わせるとパスフレーズを毎回入れる必要がなくなります。 まず、ssh-agent を実行します。 $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-YQW9LjOQAQSF/agent.3090; export SSH_AUTH_SOCK; SSH_AGENT_PID=3091; export SSH_AGENT_PID; echo Agent pid 3091; なんか出てきましたね、これは、環境変数と PID(ProcessID)です。 難しい話は省きますが、これを Shell に覚えこませればよいので、eval を使用します。eval の解説はまた別の機会に。

                    SSH で毎回パスフレーズを入れるのが面倒だと思ったときには - Qiita
                  • [1分でできる] zshで幸せになる方法|w0o0ps

                    すぐに幸せになりたいひとは、[zshで最短で幸せになる方法] の章だけ読んでね。(° ꈊ °)✧˖°オホッ! ■ Catalinaさんに怒られる。 拙者、MacBookProをCatalinaにしたあの日から、ターミナルを起動すると、こんな風に怒られ続けておりやす。 Last login: Tue Feb 25 23:50:56 on ttys006 The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. $Catalina から、zshがデフォルトのシェルになってしまったんですなぁ。 この怒り

                      [1分でできる] zshで幸せになる方法|w0o0ps
                    • curl と cron でHTTPレスポンスを監視するシェルスクリプト (結果をSlack に飛ばす) - Qiita

                      2018.11.30 : スクリプトが要件どおり動かない箇所があったので修正 目標 インターネットに出られるけれど、インターネットから入ってこれないサーバの死活監視を、お気軽にしたい。 知識材料 curl - How To Use 対象URLを検証 HTTP レスポンス状態コード - HTTP | MDN サーバが返送する状態コード Man page of CRONTAB スクリプトの定時実行 今回のゴール 監視対象URLに対して、下記の要件で監視できるシェルスクリプトを作成 HTTP 200 OK 以外を返した時、エラー通知する 1日一回、監視していることを通知するために HTTP 200 OK を返した時も通知する (おまけ:通知先は Slack) 実践 監視シェルスクリプト 書式 check_http.sh [-f] target_url オプション -f target_url から

                        curl と cron でHTTPレスポンスを監視するシェルスクリプト (結果をSlack に飛ばす) - Qiita
                      • Bash / PowerShell / Pythonの変数の扱い・処理の違いを確認する - Qiita

                        3つのスクリプト型言語の変数の違いを理解する Shell Script : Linuxを運用する上では必須 PowerShell : 主にWindowsで利用。オープンソース化でLinuxやmacOSでも使える Python : データ分析やAI/ML系で人気のスクリプト 環境に合わせて3つのスクリプト型言語を使っていると、色々混乱してくるので忘備録を兼ね、まとめてみた。 変数の宣言・定義 User:~$ name='Mash' User:~$ echo $name Mash User:~$ name=Mash User:~$ echo $name Mash User:~$ $name コマンド 'Mash' が見つかりません。 Shell Script 変数名と値の間の "=" の両脇にスペースを入れてはダメ 変数の値が文字の時でも、クォーテーションの有る無しに関わらず定義可能 変数 $

                          Bash / PowerShell / Pythonの変数の扱い・処理の違いを確認する - Qiita
                        • Bashシェルスクリプトで終了前に後始末をさせたい時はtrapコマンドを活用しよう | ゲンゾウ用ポストイット

                          ゲンゾウ用ポストイット シェル / Bash / Linux / Kubernetes / Docker / Git / クラウドのtipsを発信。 はじめにBash シェルスクリプトの終了時に、 必ず後処理をさせたい 場合があります。 例えばスクリプト内で作成した 一時ファイルを削除する といった場合です。 そんな時に使えるコマンドとして、Bash ビルトインコマンドである trap コマンドがあります。 trap コマンドを使ってスクリプト終了前に後処理をさせる方法について紹介してみたいと思います。 関連記事 : Linux サーバからログアウトしたタイミングで処理を実行させる方法 ( 例えばメールを飛ばす ) | ゲンゾウ用ポストイットtrap コマンドの使い方trap コマンドの主な引数は以下の 2 つになります。 実行させたいシェルスクリプトコマンドトラップを仕掛けたい シグナル

                            Bashシェルスクリプトで終了前に後始末をさせたい時はtrapコマンドを活用しよう | ゲンゾウ用ポストイット
                          • GitHub - gh2o/bash_tls: A minimal TLS 1.2 client implementation in a pure Bash script

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                              GitHub - gh2o/bash_tls: A minimal TLS 1.2 client implementation in a pure Bash script
                            • Parallel Gzip - Pigz

                              07-08-2020 07-08-2020 blog 5 minutes read (About 676 words)  visits IntroductionSometimes, we would like to compress one or several files into one zipped file or decompress a zipped file. It is very common to use tools such as gzip, zip, or 7zip to create or decompress .gz, .zip, and .7z files, respectively. However, none of these tools on Linux uses multicore and multithread during compression an

                                Parallel Gzip - Pigz
                              • iTerm, zsh, vimをかっこよくセットする - Qiita

                                MacBookAirにシステムの不具合があったのでディスクフォーマットして対処。 いざバックアップしようとしたら「失敗しました」だと!? 残されたのはiCloudに残された書類のみ。 仕方ないので自力でセットアップしていく。 せっかくなので一つ一つ理解しながら進めていく。 目標 OSX(Mojave10.14.3)しか入っていないまっさらな状態から、かっこいいターミナル、かっこいいVimを整えて、pythonとC++を実行できるようにする。 手順 homebrewをインストール iTerm2を整える。 1_インストール 2_bashからzshにする 3_zshrcの設定 4_カラースキームの設定 5_フォント「ricty」を入れる 6_プロンプトを変える vimを整える 1_vimrc 2_カラースキームの設定 gcc 補足 エイリアスとシンボリックリンク Python zshでanaco

                                  iTerm, zsh, vimをかっこよくセットする - Qiita
                                • splitコマンド(GNU拡張版)で覚えておくと便利な使い方 | 俺的備忘録 〜なんかいろいろ〜

                                  splitコマンドは、標準出力やファイルを受け付けて指定された行数などでファイルに分割してくれるコマンドだ。 ファイルが大きすぎる場合や決まった行数ごとに内容が別れているファイルを分割して別のファイルにしたり、分割した内容ごとにコマンドを実行させたりすることができる。 1. 基本的な使い方 基本的には、以下のように標準入力やファイルを指定して分割をする。 command | split split ファイルPATH blacknon@BS-PUB-DEVELOP:~/test_split$ cat test.list a01 a02 a03 a04 a05 a06 a07 a08 a09 a10 b01 b02 b03 b04 b05 b06 b07 b08 b09 b10 c01 c02 c03 c04 c05 c06 c07 c08 c09 c10 d01 d02 d03 d04 d0

                                  • Windows Terminal で Git Bash を快適に使う | 豆蔵デベロッパーサイト

                                    はじめに # 皆さんは Windows で Linux 系の CLI を使いたい場合、どういうツールを使っていますか? もちろん本物の Linux や macOS などを使えればいいのですが、作業用マシンが Windows 固定というケースもあり、何らかの環境が必要です。 Windows には WSL2 という Linux のための仮想環境があり、ネィティブに近い Linux の開発環境を構築できます。ただ、WSL2 は Hyper-V の有効化が必要だったり Windows ファイルシステムとのマッピングがやや面倒だったりと、本格的な開発環境ではなく「ちょっと Linux 系のコマンドを叩きたい、Bash が動けばいい」という場合は too much だったりします。 Cygwin もありますが、これまた若干ヘビーウェイトな環境です。 筆者は長年 Git for Windows に付属す

                                    • 【shell】jqにシェルスクリプトの変数を渡す方法

                                      はじめに この記事ではjqにbash等のshellで定義した変数を渡す方法を記載します。 jqにシェルの変数を渡す方法 Bash等のシェルスクリプトで定義した変数の値をjqで参照するには、実行時にオプションで “–arg” を指定します。 jqにシェルの変数を渡したいときは、オプションで –arg を指定する。 –arg name value 例えば "–arg foo 123" を指定すると、 "$foo" で参照できる。そのとき値はstringになる。https://t.co/miE5jeUO4e — aiiro@ソフトウェア開発者 (@aiiro29) July 23, 2020 例えばシェルで “$BODY_TEXT” という変数を定義していた場合、次のように “–arg body $BODY_TEXT” を指定することで、selectを使用する際に “$body” としてシェルの

                                        【shell】jqにシェルスクリプトの変数を渡す方法
                                      • GitHub - progedu/crostini-dev-setup-ja: Chromebook上で動作する Linux コンテナ(Crostini)に日本語の開発環境を構築するスクリプト

                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                          GitHub - progedu/crostini-dev-setup-ja: Chromebook上で動作する Linux コンテナ(Crostini)に日本語の開発環境を構築するスクリプト
                                        • jqで極めるシェル芸の話

                                          JSONを整形するコマンドだと思われがちなjqコマンド、実はかなり高性能で、これを使いこなせるとシェル芸が捗ります!Read less

                                            jqで極めるシェル芸の話
                                          • GitHub - shellgei/rusty_bash: bash written with Rust

                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                              GitHub - shellgei/rusty_bash: bash written with Rust
                                            • Pentesting_Active_directory

                                              Scan Network cme smb <ip_range> # enumerate smb hostsnmap -sP -p <ip> # ping scannmap -PN -sV --top-ports 50 --open <ip> # quick scannmap -PN --script smb-vuln* -p139,445 <ip> # search smb vulnnmap -PN -sC -sV <ip> # classic scannmap -PN -sC -sV -p- <ip> # full scannmap -sU -sC -sV <ip> # udp scanfind vulnerable host find AD IP nmcli dev show eth0 # show domain name & dnsnslookup -type=SRV _ldap._

                                                Pentesting_Active_directory
                                              • [bash] IFS(Internal Field Separator)について

                                                シェルスクリプトでreadを使う時にフィールド分割したくない場合やフィールドの区切り文字を変えたい場合なんかにIFSの値を変えたりする。 でも、実際にIFSの値を変えるとどこまで影響があるんだろうか? read これが最も一般的な使い方だと思う。 例えば、IFSが明示的に設定されていない場合は <空白><タブ><改行> が区切り文字になるので、入力に空白があると行が区切られて変数に格納される。 $ read a b c IFS is Internal Field Separator. $ echo $a IFS $ echo $b is $ echo $c Internal Field Separator. 変数がフィールドより少ない場合は読み捨てられるのではなく、最後の変数に残りがすべて格納されるみたい。 例えば、IFSを','に変えると、カンマ区切りになって、空白はそのまま変数に格納さ

                                                • UTF-8 BOMを確認・追加・削除するコマンド - Qiita

                                                  MacOSX環境にて、コマンドでBOMの確認や追加・削除の必要がありましたので、方法を整理します。 bashとhead, sedコマンドを利用した方法なので、LinuxやAlpine Linuxなどのコンテナ環境、その他Unix、WindowsのGit Bash, MinGW環境でも動かしやすいはず。 背景 Microsoft Excelでは UTF-8エンコードのCSVファイルを読み込んだり、書き出したりできますが、BOMが付きます。 データ移行のため、顧客から受領したExcelファイルを元に、CSV出力したものをベースに、移行用のデータ加工を行う必要がありました。 fileコマンドを使う簡単な確認方法があります。 しかし、csvファイルを判定しようとしたとき、手元のMacOSX環境のfileコマンドでは は判定結果がBOM有無に関わらずCSV textと出力され、その後のエンコード情報

                                                    UTF-8 BOMを確認・追加・削除するコマンド - Qiita
                                                  • その18 シェルスクリプトで学ぶ排他制御

                                                    並行プログラミングには欠かせないものの理解が難しい排他制御について、シェルスクリプトを使って解説しました。 テキスト https://speakerdeck.com/sat/sierusukuriputodexue-bupai-ta-zhi-yu

                                                      その18 シェルスクリプトで学ぶ排他制御
                                                    • シェルスクリプトでクリップボードの監視をしてみる | ゲンゾウ用ポストイット

                                                      はじめに技術調査のためにひたすら参考になるキーワードをコピペしていましたが、自動的にテキストファイルに吐き出したかったのでスクリプトを書いてみました。 デフォルト状態ではMacで用意されているpbcopy/pbpasteコマンドで動作しますが、同等のコマンド名を引数で渡してやればLinuxやCygwinでも動作します。 検証環境$ uname -moi x86_64 MacBookPro11,4 Darwin $ bash -version | head -n 1 GNU bash, バージョン 5.0.11(1)-release (x86_64-apple-darwin18.6.0) watch_cb.sh という名前で作成しました。 クリップボードの内容が変わったタイミングで出力が行われます。 #!/usr/bin/env bash set -o errexit set -o noun

                                                        シェルスクリプトでクリップボードの監視をしてみる | ゲンゾウ用ポストイット
                                                      • 新山祐介 (Yusuke Shinyama) on Twitter: "ゲーデルの不完全定理をbashスクリプトを使って理解する。不完全定理が証明された1931年はチューリングマシンが発明される5年前であり「アルゴリズム」という概念は存在しなかった。しかし現代はチューリングの停止性問題を経由して不完全… https://t.co/ujfDM7Amcp"

                                                        ゲーデルの不完全定理をbashスクリプトを使って理解する。不完全定理が証明された1931年はチューリングマシンが発明される5年前であり「アルゴリズム」という概念は存在しなかった。しかし現代はチューリングの停止性問題を経由して不完全… https://t.co/ujfDM7Amcp

                                                          新山祐介 (Yusuke Shinyama) on Twitter: "ゲーデルの不完全定理をbashスクリプトを使って理解する。不完全定理が証明された1931年はチューリングマシンが発明される5年前であり「アルゴリズム」という概念は存在しなかった。しかし現代はチューリングの停止性問題を経由して不完全… https://t.co/ujfDM7Amcp"
                                                        • Bashの起動が遅い時の雑な調査法 - Qiita

                                                          ある時、ふと気がつくと ターミナルを起動した時、プロンプトが表示されるまで、5秒ぐらいかかる ようになっていました。 ~/.bashrc に何か重い処理があるせいだと思いますが、具体的にどの処理なのかは見当がつきません。 調べ方 -x オプションをつけて新しいBashを起動しましょう。 + source /etc/profile ++ '[' -x /usr/libexec/path_helper ']' +++ /usr/libexec/path_helper -s ++ eval 'PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/opt/X11/bin:/Users/foo-bar/.quarry/bin:/Users/foo-bar/.rbenv/shims:/Users/foo-bar/Doc

                                                            Bashの起動が遅い時の雑な調査法 - Qiita
                                                          • BashからZshに移行する方法(Mac編) | Casual Developers Note

                                                            MacのOSがmacOS Catalinaになるにあたり、標準のシェルがZshになったので、今まで使っていたBashからZshに移行する方法を紹介します。 はじめに Macのバーションをアップデートしてシェルを起動すると以下のメッセージが表示されます。 The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. これはOSが「macOS Catalina」になるにあたり、標準のシェルがBashからZshに変更されたためです。詳細は公式のページに書かれているのですが、この期にBashからZshに移行す

                                                              BashからZshに移行する方法(Mac編) | Casual Developers Note
                                                            • シェルスクリプトでUNIX時間⇔日付の相互変換を行う関数(POSIX準拠) - Qiita

                                                              はじめに 参考としてシェルスクリプトで UNIX 時間 と日時を取得・変換する "一般的な" コマンドです。 # 現在の UNIX 時間を出力 $ date +%s 1586250991 # 指定した日時の UNIX時間 を出力 $ date +%s --date '2020-01-02 03:04:05' # Linux $ date -j -f "%Y-%m-%d %H:%M:%S" '2020-01-02 03:04:05' +%s # macOS 1577901845 # UNIX 時間 で日時を指定して指定したフォーマットで出力 $ date --date @1577901845 +"%Y-%m-%d %H:%M:%S" # Linux $ date -r 1577901845 +"%Y-%m-%d %H:%M:%S" # macOS 2020-01-02 03:04:05 見て

                                                                シェルスクリプトでUNIX時間⇔日付の相互変換を行う関数(POSIX準拠) - Qiita
                                                              • Useful Uses of cat | Hacker News

                                                                The reason these sequences of commands always start with cat, for me at least, is that I just cat’d the file only to find it was too long or noisy. cat filename.txt Up | grep “thing I want” Is fewer keystrokes than cat filename.txt grep “thing I want” filename.txt Or more likely cat filename.txt grep filename.txt “thing I want” grep “thing I want” filename.txt You can also do: grep “thing I want”

                                                                • All Chromebooks with Linux Apps (Crostini) support in 2024

                                                                  Today we are looking at all the Chromebooks available on Amazon in 2024 with Linux Apps support, Crostini.  This feature enables the power of Chrome OS rapidly as a person can run many more apps on a Chromebook and it plays a major part in making a Chromebook more than just a web browser but a powerful operating system.  It is not perfect yet, but it is improving continually and many apps like Ink

                                                                  • sedで拡張正規表現 (ERE) を使う時は -r ではなく -E オプション(POSIX Issue 8 準拠)を使いましょう - Qiita

                                                                    sedで拡張正規表現 (ERE) を使う時は -r ではなく -E オプション(POSIX Issue 8 準拠)を使いましょう TL;DR POSIX Issue 8 で 拡張正規表現 (ERE) を使うための -E オプションが標準化されます。 もう sed で 基本正規表現 (BRE) を使う必要はありません。 POSIX Issue 8 は 2022 年後期予定ですが今使えるのであれば待つ必要はありません。 -r オプションは -E と同じ意味の古いオプションです。 s/foo/bar/i ← この i (ignore case) も POSIX Issue 8 で標準化されます。 grep でも -E オプションで ERE が使えます。 昔は POSIX で標準化されていた(?)egrep も POSIX.1-2001 で廃止されています。 grep -E で ERE、sed -

                                                                      sedで拡張正規表現 (ERE) を使う時は -r ではなく -E オプション(POSIX Issue 8 準拠)を使いましょう - Qiita
                                                                    • `sed` で検索文字列を含む行の行番号だけを出力する方法 | ゲンゾウ用ポストイット

                                                                      ゲンゾウ用ポストイット シェル / Bash / Linux / Kubernetes / Docker / Git / クラウドのtipsを発信。 はじめに検索文字列を含む行の 「行番号」 だけを出力させたいときの方法について。 sed を使って実現できます。 検証環境$ uname -moi x86_64 MacBookPro11,4 Darwin $ bash -version | head -n 1 GNU bash, バージョン 5.0.7(1)-release (x86_64-apple-darwin18.5.0)sed の =内部コマンド を利用するsed の = というコマンドを利用します。 このコマンドは非常にシンプルなものであまり使いみちがないと思っていたのですが、検索した結果の「行番号」を取得したいケースがあり、その時だけ活用できました。 早速試してみます。 百人一首

                                                                        `sed` で検索文字列を含む行の行番号だけを出力する方法 | ゲンゾウ用ポストイット
                                                                      • hanhan's blog - Bashのリダイレクション色々

                                                                        仕事でシェルスクリプト書くことが、たまにあるのですが参考になるコードをウェブで物色していたところ、以下のようなコードを見かけました。 不等号3つのパターンを初めてみたので、何だこれ?という感じになりまして、この機会に調べてみることにしました。 マニュアルBashのマニュアルにバシッと記載がありました。 Bash Reference Manual - 3.6 Redirections 不等号3つのパターンは、3.6.7 Here Stringsというんですね。知らなかった。 サンプルせっかくなので、リダイレクションの全パターンについて、サンプルコードと結果を載せておきます。 サンプルで使うhoge.txtの中身は文字列hogeです。 3.6.1 Redirecting Input

                                                                          hanhan's blog - Bashのリダイレクション色々
                                                                        • 環境変数の設定を間違えてほとんどのコマンドが command not found になってしまったときの対処法 - Qiita

                                                                          はじめに 先日、サーバの設定をいじっていたときにやらかしてしまい冷汗を書いたので、いざというときに焦らずに対処できるようにするためにここにメモしておきます。 原因 自分の中で得られた結論を先に言ってしまうと、環境変数のexportは複数箇所に書くべきではないです。 .bash_profile等にexport PATH="パス"を追加することで環境変数が使えるようになります。たとえばlsコマンドは本来なら/bin/lsや/usr/bin/lsとしなければ実行できませんが、/binや/usr/binを環境変数として登録しておけば単にlsと打つだけで実行できるようになります。 今回の問題の原因は、export PATH="/path/to/something:/path/to/anything:$PATH"となっている行の下にexport PATH="/path/to/badthing"を追加し

                                                                            環境変数の設定を間違えてほとんどのコマンドが command not found になってしまったときの対処法 - Qiita
                                                                          • GitHub - dylanaraps/writing-a-tui-in-bash: How to write a TUI in BASH

                                                                            Through my travels I've discovered it's possible to write a fully functional Terminal User Interface in BASH. The object of this guide is to document and teach the concepts in a simple way. To my knowledge they aren't documented anywhere so this is essential. The benefit of using BASH is the lack of needed dependencies. If the system has BASH available, the program will run. Now there are cases ag

                                                                              GitHub - dylanaraps/writing-a-tui-in-bash: How to write a TUI in BASH
                                                                            • 新山祐介 (Yusuke Shinyama) on Twitter: "Brian J. Fox (Bash開発者)インタビュー。彼はEmacsをApple IIに移植してストールマンと知り合い、FSFの正規職員1号となった。彼曰く「いつもアイデアが重要で、それは公開されている。コードなんか誰でも書け… https://t.co/YUi10VKZJd"

                                                                              Brian J. Fox (Bash開発者)インタビュー。彼はEmacsをApple IIに移植してストールマンと知り合い、FSFの正規職員1号となった。彼曰く「いつもアイデアが重要で、それは公開されている。コードなんか誰でも書け… https://t.co/YUi10VKZJd

                                                                                新山祐介 (Yusuke Shinyama) on Twitter: "Brian J. Fox (Bash開発者)インタビュー。彼はEmacsをApple IIに移植してストールマンと知り合い、FSFの正規職員1号となった。彼曰く「いつもアイデアが重要で、それは公開されている。コードなんか誰でも書け… https://t.co/YUi10VKZJd"
                                                                              • 【 getopt 】コマンド――オプションを解析する

                                                                                getoptコマンドとは? 「getopt」は、シェルスクリプト内などでオプションを解析するコマンドです。自作のシェルスクリプトで「-a」のような「ハイフン+アルファベット1文字」のオプションを扱う際に便利です。「-f ファイル名」のように引数を取るオプションも解析できます。 よく似た名前で用途も同じ「getopts」コマンドとはどこが異なるのでしょうか(連載第378回)。まず、getoptsコマンドはbashのビルトインコマンドです。さらにgetoptsコマンドでは、「--」から始まるロングオプションを解析できません。 getoptコマンドは外部コマンド(/usr/bin/getopt)であり、ロングオプションの解析も可能です。 なお、getoptは、CentOS 8やUbuntu 18などに収録されているGNU版(util-linuxパッケージ収録、※1)の他に、macOSなどに収録さ

                                                                                  【 getopt 】コマンド――オプションを解析する
                                                                                • bashとzshで重複したPATH内のエントリ削除 - Qiita

                                                                                  設定ファイル内で環境変数PATHの重複を削除する方法。 よく見かけるパターンだと、 パスに空白が含まれていたらそこで分割されてしまう PATH=""だとエラーが生じる pathmergeのような専用関数を通す必要がある とちょっと不便な部分があったため作成。 bashの場合 # 連想配列が使えるかどうかチェック if typeset -A &>/dev/null; then # 使える場合 typeset -A _paths typeset _results while read -r _p; do if [[ -n ${_p} ]] && (( ${_paths["${_p}"]:-1} )); then _paths["${_p}"]=0 _results=${_results}:${_p} fi done <<<"${PATH//:/$'\n'}" PATH=${_results/:

                                                                                    bashとzshで重複したPATH内のエントリ削除 - Qiita