Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Browsing all 2722 articles
Browse latest View live

【Bash】DNA相補鎖を出力する方法

tr と rev を駆使すると簡単に書くことができます。 trで{A,T,G,C}をそれぞれ{T,A,C,G}に変換し、revで文字列を反転します。 #! /bin/bash DNA="ATTGAATGATAGA" echo ${DNA} | tr ATGC TACG | rev # TCTATCATTCAAT

View Article


Bashで改行区切りと空白区切りの相互変換

はじめに Bashを使用して行から列への展開、あるいは列から行への展開を行う方法を複数示します。 ここで、行とは改行で区切られた文字列、列とは半角空白で区切られた文字列を指します。 各コマンドの解説は致しません。 行から列へ 例としてseq 100の結果を使用する。 入力データ $ seq 100 1 2 3 4 5 ... (略) ... 98 99 100 期待結果① 1 2 3 4 5 6 7...

View Article


ファイルや変数から理解するUnixシェルによるプログラミング: パイプ・リダイレクト・シェルスクリプト

はじめに この記事は、私がセキュリティ関係でUnixシェルを扱おうとしたときにうまく理解できず学習しなおしたその過程で生まれました。...

View Article

【注意】POSIX awk は日本語文字 (UTF-8)を正しく扱うことが出来ません

はじめに 補足 UTF-8 を期待通りに扱える awk の実装もあります。 扱える: gawk、Solaris (/usr/xpg4/bin/awk と /usr/bin/awk) 扱えない: mawk、original-awk、busybox awk、macOS、FreeBSD 12.0、NetBSD 9.0、OpenBSD 6.6 論より証拠 環境は Ubuntu...

View Article

UNIXコマンド 引数について

僕は、このコマンドを見て、どういう構造になっているかよくわかりませんでした。 $ hoge -v -lv foo -- -l bar 普段、何気なく使っているCLIコマンドですが -- などが出てくると、よくわからなくなってしまう時があります・・・。 なので、コマンドを整理してみましょう。 argument (引数) 引数はコマンド名を含めた、コマンドラインに与えられた文字列全体の配列です。...

View Article


【初心者用】Vagrantの自作コマンドを作成

1. やりたいこと Vagrantは、Vagrantfileがあるディレクトリに移動して、vagrant suspend(停止)、vagrant status(確認) 、vagrant up(起動)などを実行するのが一般的。 Macのホームディレクトリからシェルスクリプトで引数を指定して、どのディレクトリでも動作できるようにしたい。 2. 内容 2.1 要件...

View Article

cron などで定期実行中のシェルスクリプト群をサーバに安全にリリースしたい。

概要 bash はシェルスクリプトを最初にすべて読み込むわけではなく、読み込みながら実行します。 そのため実行中のシェルスクリプトを更新する場合、正しい手段を選択する必要があります。 さらに cron などで定期実行中のシェルスクリプトを更新する場合は、実行状況やタイミングをできるだけ気にせず安全に済ませたいです。 本記事は以下の記事を参考にしています。...

View Article

【bash】getoptsでコマンドの引数を取得するsh(ショートオプションとロングオプション対応)

1. 概要 シェルスクリプトで引数を取得する際、getoptsコマンドを使用するのが一般的かと思いますが、getoptsコマンドは普通に使用するだけだとロングオプションに対応できません。 ロングオプションに対応させるには独自のロジックを組む必要があります。 本記事では、getoptsコマンドを使用したショートオプションとロングオプションに対応したシェルスクリプトのデモコードを公開します。 2....

View Article


eslintが置換してくれないjsのタブをまとめて置換

find . | grep ".*.js$" | xargs sed -i -e "s/\t/ /g"

View Article


シングルクォートとダブルクォートの違い

bash ~$ h=Hello! ~$ echo '$h' $h ~$ echo "$h" Hello! Bashではこゆこと。

View Article

ファイルの特定行を抜き出してソートした結果を取得

catでファイルを読み込んで、sedで行数指定して取得。その結果をsortする。 例、 ファイルの10行目〜20行目をソートする cat hoge.txt | sed -n '10,20p' | sort -f -d sedの部分を変更すれば行数指定以外のやり方もできる。 sortコマンドのパラメータについて補足 -f 大文字/小文字を区別しない -d...

View Article

駆け出しエンジニアがシェル芸に入門してみた(1)

経緯 実は以前実務でシェルスクリプトを書く機会があったのですが、思ったほどすらすら書くことが出来ずに苦戦した思い出があります。そうこうしている間に「新しいLinuxの教科書-三宅英明-」と出会い、使う機会がなかったコマンドが多くあることを知り、また手をこまねいている内に今度はAWS...

View Article

trコマンドの範囲指定を[0-9]と書く人はオジサン(POSIX準拠は0-9)

TL;DR POSIX 準拠の tr コマンドでは文字の範囲指定に [ ] は不要です。[0-9] のような書き方は System V 版の古い書き方であり、0-9 と書くのが POSIX 準拠の今の書き方です。いずれの環境でも動く書き方であり POSIX 準拠の環境を最低基準とするならば古い書き方をする必要はありません。[0-9]でも動くように思えるかもしれませんが -d...

View Article


【最終完全版】 bash/zsh 用オプション解析テンプレート (getopts→shift)

オプション解析に使う getopts と shift bash/zsh 用オプション解析テンプレートとは、シェルスクリプトにどのオプションが指定されたのかを判定しやすくするためのスクリプトのテンプレートです。オプションとは下記の --version のようなハイフンから始まる指定です。 my-shell-script --version...

View Article

パイプで繋がったコマンドをバックグラウンドで実行した際に、最初のプロセスのプロセスIDを取得する

シェルにおいて、バックグラウンド実行のプロセスIDは$!で取得することができる。 sleep 10 & echo $! # sleepコマンドのプロセスIDが取得できる。 では、コマンドがパイプで繋がれている場合はどうなるだろうか? tail -f log.txt | grep 'keyword' & echo $!...

View Article


aptコマンドによるパッケージ更新メモ

はじめに 筆者の環境は以下のとおりです。  ・Windows10にてWSL2でUbuntu20.04LTSを使用(ロケールはja_JP.utf8)  ・Windows Terminalを使用 上記環境でのaptコマンド実行メモです。 あくまで筆者が通常実行しているコマンドのみの記載になります。 その他のコマンドや詳細情報についてはman aptや以下の公式ドキュメントを参照ください。...

View Article

Eclipse + Git Bash で疑似チーム開発

はじめに 統合開発環境であるEclipse内で管理しているコードをGitで管理(もっと言うと疑似チーム開発)する手順をまとめます。 GUIを使った手順に関する情報は豊富なんですが、コマンド(CUI)使った手順でうまくまとまった記事がないなあと思い、自分の備忘録のためにも本記事を書くことにしました。 GUIのマウス操作面倒だから、コマンド使いたいんじゃ!!!...

View Article


同じ作業めんどくさいから自分でコマンドを作ったわ

動機 自分だけの便利なコマンドを作りたいなと思ったことはありませんか? 私はコードを検証するためにフォルダを作成して、そのままVSCodeを開くことがよくあるので今回はnpコマンド(new projectを作成してvscodeを開く)を作りながらコマンドの作り方を解説します。著者のシェルはzshです。 事前準備 VSCodeに移動して「command」 + 「shift」 +...

View Article

ブランチ毎にコミットメッセージのテンプレートを切り替えたい【Git】【prepare-commit-msg】

はじめに マスターブランチと、開発用の作業ブランチではコミットの粒度が異なるため、異なるテンプレートを用いたい。フックスクリプトを用いてテンプレートファイルを切り替えてみます。 前提 テンプレートファイル、およびその切り替えを行うフックスクリプトが、作業ディレクトリ内に以下のように配置されているものとします。 ./work_directory ├── .git │   ├── hooks │   │...

View Article

駆け出しエンジニアがシェル芸に入門してみた。(2)

bashを使用することが前提。Linux基礎コマンドチートシート風。 前回の記事: 今回の記事は新しいLinuxの教科書を参照している。 こんな人に読んで欲しい Linuxの基礎を知りたい。 基礎的なコマンドを自分で打ってみたい。 Linuxカーネルとシェルの役割 Linuxの内部では、下記のようなコマンドを実行する際に キーボードから入力されたコマンドの文字列を受け取る。...

View Article
Browsing all 2722 articles
Browse latest View live