rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

シェルスクリプト

シェルスクリプトの$0には起動したコマンドのフルパス("which COMMAND"の返り値と同じ)が入る

2021 Feb. 20. シェルスクリプトの$0には起動したコマンドのフルパス("which COMMAND"の返り値と同じ)が入る。

pidofコマンドについて

2021 Feb. 25. 2021 Feb. 19. pidofコマンド pidofコマンドは、pidofの引数に指定した文字列をpsコマンドで出力されるプロセスリストに対して検索してマッチしたプロセスIDを出力すると考えておけばよい。

シェルスクリプト 変数の内容が整数かどうかを調べる

2021 Feb. 18. 出典 シェルスクリプトで数字かどうか判断する方法(exprだけじゃない) exprの戻り値を利用する 0: 式が正しく評価され、評価値が0かnull以外の場合 1: 式が正しく評価され、評価値が0かnullのとき 2: 式が不当なとき 3: (GNU版のみ)その他エラ…

bash 正規表現マッチオペレータによる部分一致検索

2021 Feb. 11. 出典 シェルスクリプト/文法/文字列操作/部分一致で検索する - yanor.net/wiki 検索文字列は引用符で囲まない。 スラッシュを検索する場合は / のみを記述する。 $ Str='abc/de' $ [[ $Str =~ / ]] $ echo $? => 0 $ [[ $Str =~ x ]] $ echo $…

bashスクリプトの構文チェック

2021 Feb. 11. スクリプトを実行せずに文法チェックする /bin/bash -n SCRIPT.sh

awkコマンドの書式

2021 Feb. 25. 2021 Feb. 11. 参考元 IBM Knowledge Center awk で動的に正規表現を変更する方法のメモ | 毎日の向こうに The GNU Awk User's Guide - 正規表現 基本構文 awk -F "フィールド区切り文字" -v 変数1=hoge1 -v 変数2=hoge2 'パターン{BEGINパタ…

echoコマンドでのメタ文字のファイルへの書き込み

2021 Feb. 13. 2021 Feb. 11. オプション無しのechoコマンの出力をファイルにリダイレクトすると、メタ文字がそのまま書き込まれる。 \t と記述したタブ文字や \n の改行はそのまま \t、\n と書き込まれる。 ファイルをcatコマンドで出力して変数に格納 VAR=…

あるコマンドが実行中かどうか linux

2021 Mar. 11. 2021 Feb. 17. 2021 Jan. 23. pidof CommandFileName : ファイル名がCommandFileNameのプロセスを(フルパスは異なっていても)すべて出力する pidof CommandFullPath :フルパスがCommandFullPathのプロセスをすべて出力する pidof -s Command…

yyyymmddHHMMSSな時刻文字列をunixタイムに変換するbashシェルスクリプト

2021 Mar. 11. 2021 Jan. 17. Datetime='20210117175000' Year=${Datetime:0:4} Month=${Datetime:4:2} Day=${Datetime:6:2} Hour=${Datetime:8:2} Minute=${Datetime:10:2} Second=${Datetime:12:2} DatetimeFormated="${Year}-${Month}-${Day} ${Hour}:${M…

同じコマンドが複数起動しているかどうか確認する bashシェルスクリプト

2021 Mar. 14. 2021 Jan. 17."pgrep -fo COMMAND"で確認する。 if [ $$ = $(pgrep -fo COMMAND) ]; then echo "Only one COMMAND is running." else echo "Plural COMMANDs are running." fi

変数展開 シェル

2020 Oct. 31.参考になるサイト 【シェル芸人への道】Bashの変数展開と真摯に向き合う - Qiita 文字列末尾を取得する echo ${Str: -1} 文字列末尾を削除する echo ${Str/%?/} 文字列内で最初に出現する"abc"を"xyz"に置き換える echo ${Str/abc/xyz} 文字列…

whileループにコマンドの結果を渡すにはプロセス置換を使えばよい シェルスクリプト

2021 Feb. 21. 2020 Jun. 14. 参考 シェルの入出力制御あれこれ - Qiita ディレクトリ内のすべてのファイルのループ処理 シェルスクリプト - rokkonet whileループにコマンドの結果を渡すにはプロセス置換 while read -d $'\0' File; do // DO SOMETHING don…

連続するホワイトスペース(空白/スペース・タブ)を1つの空白/スペースに置き換える sed

2020 Jun. 13. $ sed -e 's/[ \t][ \t]*/ /g' < TEXT-FILE

"ls -l"出力からファイルサイズ列を取り出す

2020 Jul. 05. 2020 Jun. 13. 2018 Oct. 26. $ ls -l | awk 'NR > 0 ' | sed -e "s/[ $'\t'][ $'\t']*/ /g" | cut -d " " -f 5 bashの$’string’展開を利用 [ $'\t'] [と$の間にスペース/空白。$'\t'がbashの$’string’展開でタブを表現。[ ]で囲まれることで…

空白/スペースを含むファイル名文字列が入った変数をfindコマンドの引数とした検索

2020 Jun. 13. 2020 Jun. 10. 空白/スペースを含むファイル名文字列が入った変数を二重引用符で囲む $ find DIR/ -name "${Filename}"※ 二重引用符で囲めば空白/スペースを含む文字列が入った変数を1つのトークンとして展開できる

パス文字列から空白/スペースを含むファイル名を取得 シェルスクリプト

2020 Jun. 13. 2020 Jun. 08. 参照元 https://zawapro.com/?p=1619空白/スペースを含むファイル名をパスから切り出すには変数展開がよい ${PATH##*/}`basename PATH` では空白/スペースがファイル名構成文字と認識されない

findコマンドでマッチがなかった時の判定 シェルスクリプト

2023 Feb. 23. 2020 Jun. 07. findコマンドでマッチがなかった時 findコマンドが失敗した時 findコマンドでエラーの時 A.findコマンドの結果の文字数がゼロならマッチしていない Files=`find DIR/ -name HOGE` if [ ${#Files} -lt 1 ]; then echo "No file…

ディレクトリ内のすべてのファイルのループ処理 シェルスクリプト

2021 Feb. 21. 2020 Jun. 07. https://qiita.com/yuba/items/489fadb350246b5c94e7 に下記コードが解説されている while read -d $'\0' File; do "${File}" に対して処理 done < <(find ディレクトリ -print0) forループでは ディレクトリが空だったときに変…

VPN Gateサーバー ポート番号の取得

2020 May 24. ・CSVリスト( http://www.vpngate.net/api/iphone/ )の第15列の"OpenVPN_ConfigData_Base64"にポート番号情報が含まれている ・"OpenVPN_ConfigData_Base64"はbase64でエンコードされている ・ポート番号は remote で始まる行に remote IP-ADDR…

HTML文書の行の末尾の文字列を取得した時は文字列の末尾に改行(CR/LF)が入っているかもしれない

2020 May 24. 文字列の末尾の改行コードの削除 $ LINE=`echo $LINE | sed -e "s/[\r\n]//"`

awk アクション部でのシェル変数値の利用

2020 May 17.awkのコマンドオプション -v でシェル変数値を受け取り、受け取った変数をアクション部に記述する$ ShellVar=abc $ awk -v awkVar="${ShellVar}" '{if ($1 == awkVar ){print}}'

シェル 配列から要素を指定した値の取り出しは全体を{}で囲む

2020 Apr. 19. ${array[0]} : 先頭の要素を取り出せる $array[0] : 変数${array}と文字列"[0]"として扱われる

親プロセスのコマンド、コマンドライン引数を取得するシェルスクリプト

2020 Apr. 19. ## get parent process which started this script # 6th column of "ps ax" is parent command # columns after 7th are arguements of parent command NumColPs=`ps ax | grep $PPID | grep -v 'grep' | awk '$1 == '"${PPID}"' {print NF}'…

シェルスクリプトのコマンドライン引数を配列に格納する

2020 Apr. 19. Argues=($@) for EachArgue in ${Argues[@]} do DO_SOMETHING done

awkで条件に合致する列を出力して変数に格納すると、列の区切りはスペース/空白(0x20)となる

2021 Feb. 21. 2020 Jun. 03. 2020 Apr. 19.(Linux上で)awkで条件に合致する列を出力して1つの変数に格納すると、出力される列の区切りはスペース/空白(0x20)となり、末尾に改行(0x0a)が付く。 STR=$(cat FILE | awk '{for (i = 2; i <= NF; i++ ) print $i…

引数に指定したコマンドが稼働中か調べるシェルスクリプト

2020 Apr. 21. 2020 Apr. 19. isAnyRunning.sh #!/bin/bash # 2020 Apr. 20. # 2020 Apr. 19. # Ryuichi Hashimoto. # check commands that you gave on arguement are running. # usage: ${CMD} COMMAND1 [COMMAND2 COMMAND3...] # check COMMANDS that you…

スクリプト内で指定したコマンドが稼働中か調べるシェルスクリプト

2020 Apr. 19. 2020 Apr. 18. スクリプト内で指定したコマンドが動いているか1回だけ調べるスクリプト ispt.sh #!/bin/bash # # 2020 Apr. 19. # 2010 Apr. 29. # Ryuichi Hashimoto. # Check if commands to be checked are running. # retrun code # 0: th…

MPEG2動画ファイルをH.264に変換するbashシェルスクリプト

2021 Mar. 14. 2020 Apr. 19. 2020 Apr. 18. コマンドラインに与えられたMPEG2ファイルを解像度を落としたH.264に変換 ts2h264ffmpeg.sh #!/bin/bash # 2020 Apr. 19. # 2010 Jun. 11. # Ryuichi Hashimoto. # Convert mpeg2-ts-video to H.264 codec of 800…

(EPGRECでのテレビ録画)MPEG2 TSファイルをH.264に変換し重複ファイルを削除するbashシェルスクリプト

2021 Mar. 14. 2020 Oct. 17. 2020 Apr. 19. 2020 Apr. 18.DIRディレクトリ内のテレビ録画tsファイルのH.264変換・重複ファイル削除シェルスクリプト compress-epgrec-videos.sh DIR compress-epgrec-videos.sh #!/bin/bash # 2020 Oct. 10. # Ryuichi Hashi…

Ruby-Sinatraをデーモン起動するシェルスクリプト

2020 Apr. 17. #!/bin/sh -e # 2020 Aug. 17. # 2016 Feb. 09. # Start Sinatra daemon. cmdname=`basename $0` if [ $# -gt 0 ]; then echo "Failed." echo "No arguement is required." echo "Usage: ${cmdname}" echo " This script runs as below." echo…