以下、yahoo知恵袋の質問投稿より。 引数の整数値の合計を計算し、計算結果を出力して終了するシェルスクリプトの書き方を教えて下さい! 私は以下のスクリプトを回答した。 1#!/bin/bash 2i=1 3max=$# 4ret=0 5while [ $i -le $max ] 6do 7 ret=`expr $ret + $1` 8 i=`expr $i + 1` 9 shift 1 10done 11echo $ret これでも全然問題なく動
続きを読むyahoo知恵袋で次の質問投稿がありました。 $ cat manpage.txt | awk 'BEGIN{RS="";FS="\n"}{print $1 $2 $3}' | grep -e ' -' | sed -e 's/^ +//g' -e 's/ +/ /g' -e 's/, /,/' -e 's/ /:/' -e 's/ +//g' -e 's/。.*//g' | grep -v '^--' | awk 'BE GIN{FS=":"}{printf "%-29s | %s%s\n",$1,$2,$3}' | sort -f どのコマンドがどの操 …
続きを読むsortコマンドのオプション-t、-n、-kを組み合わせた時、どのような結果が得られるかを調査した。 試したコマンドは以下。-tの有り無しで確認、nオプションはグローバル時とローカル時確認、ローカル時はソートキーの開始位置に付した場合と終了位
続きを読むCSV で、数値フィールドがダブルクォートなどの囲み文字で囲まれていると、sort コマンドだけでは数値としての並び替えができない。 awk を使って数値フィールドの囲み文字を除去してから sort を実行し、その後数値フィールドを再び囲み文字で囲むことを考える。 ※
続きを読むパイプで連結したコマンドは並列実行される
2022年6月12日 shellシェルでコマンドをパイプで繋いで実行した場合、順番に実行されるのではなく、並列実行されると本に書かれてあったので、軽く検証した。 まず、以下のシェルを作成(ファイル名はcom)。 1秒ごとにメッセージを標準出力に表示するものである。 1#!/bin/bash 2 3cnt=1 4while [ $cnt
続きを読むシェルで待ち時間のないジョブネットを作った
2022年6月12日 shell次の要件でジョブネットを作るとする。 ・ジョブネットを構成するジョブは、jobA, jobB, jobC, jobD とする。 ・jobAとjobBが終了したらjobDを動かす。 ・ジョブは可能な限り並列(パラレル)で動かす。 ・待ち時間をなくす。 ・ジョブが一つでも異常終了した
続きを読む未使用の画像ファイルを一括削除するシェルを作成した
2022年4月10日 shell当ブログの画像ファイルを格納しているディレクトリに、記事で未使用の画像ファイルが大量にあると思われたので、一括削除するためのシェルプログラムを組んで削除を試みた。 1#!/bin/bash 2 3# 画像ファイル一覧を取得 4files=`find ikou -type f` 5 6# 画像ファイルを1件ずつ取り出しての処理
続きを読む