ラベル linux の投稿を表示しています。 すべての投稿を表示
ラベル linux の投稿を表示しています。 すべての投稿を表示

2017年1月27日金曜日

File比較

ls -1 | xargs -I{} -n 1 diff -q {} ../other_directory

diff -r でいいじゃないか

2016年10月20日木曜日

File名の加工 bash

basename, dirname使用しない.

#!/bin/bash

set -eu

logDate=`date +"%y%m%d_%H%M%S"`

fpath=${1}
fdir="${fpath%/*}"
fname_ext="${fpath##*/}"
fname_noext="${fname_ext%.*}"
fext="${fpath##*.}"

echo "$fpath ==>"
echo $fdir
echo $fname_ext
echo $fname_noext
echo $fext

echo "cp -p ${fpath} ${fdir}/${fname_noext}_${logDate}.${fext}"

#cp -p ${fpath} ${fdir}/${fname_noext}_${logDate}.${fext}

exit 0


File名の加工 bash

basename, dirname使用しない.

#!/bin/bash

set -eu

logDate=`date +"%y%m%d_%H%M%S"`

fpath=${1}
fdir="${fpath%/*}"
fname_ext="${fpath##*/}"
fname_noext="${fname_ext%.*}"
fext="${fpath##*.}"

echo "$fpath ==>"
echo $fdir
echo $fname_ext
echo $fname_noext
echo $fext

echo "cp -p ${fpath} ${fdir}/${fname_noext}_${logDate}.${fext}"

#cp -p ${fpath} ${fdir}/${fname_noext}_${logDate}.${fext}

exit 0


File名の加工 bash

basename, dirname使用しない.

#!/bin/bash

set -eu

logDate=`date +"%y%m%d_%H%M%S"`

fpath=${1}
fdir="${fpath%/*}"
fname_ext="${fpath##*/}"
fname_noext="${fname_ext%.*}"
fext="${fpath##*.}"

echo "$fpath ==>"
echo $fdir
echo $fname_ext
echo $fname_noext
echo $fext

echo "cp -p ${fpath} ${fdir}/${fname_noext}_${logDate}.${fext}"

#cp -p ${fpath} ${fdir}/${fname_noext}_${logDate}.${fext}

exit 0


2016年10月6日木曜日

bash date


logDate=`date +"%y%m%d_%H%M%S"`

2016年9月29日木曜日

bash RANDOM

0〜30s.

while true ;do date; toDoSomething;RND=`expr $RANDOM % 30`;echo $RND;sleep $RND;done

bash RANDOM

0〜30s.

while true ;do date; toDoSomething;RND=`expr $RANDOM % 30`;echo $RND;sleep $RND;done

bash 拡張子を変更しつつcopy


$ for i in *.jpg; do cp $i ${i%.jpg}.jpg_uptodate; done

$ for i in *.mp4; do cp $i ${i%.mp4}.mp4_uptodate; done

2016年8月16日火曜日

bash 引数 check

#!/bin/bash

set -eu



if [ $# -ne 1 ]; then
  echo "指定された引数は$#個です。" 1>&2
  echo "実行するには3個の引数が必要です。" 1>&2
  exit 1
fi

2016年8月9日火曜日

sed

[上書き保存]
o Original File保存 -i.org
o 文字列を置換 -e "s/oldstrings/newstrings/"
o File上書き -i

sed -i.org -e "s/ pi --noclear/ PIPI --noclear/" /etc/systemd/system/getty.target.wants/getty@tty1.service



[commnet行削除]
$ sed -e '/^#/d' sample.txt
 
[commnet記号削除] 
$ sed -e 's/^#//' sample.txt

 

2016年7月29日金曜日

連続file作成


bash

$ touch sample_{0..100}.txt


timestamp 2016.08.01 12:59
$ touch -t 2016008011259 sample_{0..100}.txt

2016年6月1日水曜日

tree Command

-N : 日本語File名表示
-C : Color表示

2016年3月25日金曜日

ファイルサイズ,ディレクトリサイズの表示

ファイルサイズ
du -ma | sort -rn

ディレクトリのみ
du -m | sort -rn

-m : --block-size=1MB 単位
-k : --block-size=1KB 探知
-a : 全てのファイル

2015年1月6日火曜日

shell exprは遅い

---fast version---
#!/bin/bash

COUNT=0

while ((COUNT < 1000)); do
# while [ $COUNT -lt 1000 ]; do

# 何かの処理

COUNT=$(( COUNT + 1 )) # COUNT をインクリメント
done



---slow version---
#!/bin/bash

COUNT=0

while [ $COUNT -lt 1000 ]; do

# 何かの処理

COUNT=`expr $COUNT + 1` # COUNT をインクリメント
done

2014年7月18日金曜日

crash dump の準備

crash dumpの準備

 ・SysRq有効設定
  # echo 1 > /proc/sys/kernel/sysrq

  # /etc/sysctl.conf kernel.sysrq = 1
  # sysctl -p(設定有効化)
  # sysctl -a(確認)

 ・Disk空き容量確認 /var/crash


Sysq-key
– Alt-SysRq-c ← 'C'rach Dump
– Alt-SysRq-s ← 'S'ync
– Alt-SysRq-u ← '書き込み不可'で再mount
– Alt-SysRq-b ← re'B'oot

Sysrq-trigger
– # sync;sync;sync
– # echo 1 > /proc/sys/kernel/sysrq
– # echo c > /proc/sysrq-trigger

Linux crash dump に必要なもの

– debug版vmlinux(debug版kernel pkg)

• dump時のkernelと同一versionのdebug版のkernelのfileが必要
例) kernel-PAE-debuginfo-2.6.18-8.10AX.i686.rpm
kernel-debuginfo-2.6.18-8.10AX.x86_64.rpm

– System.map(通常のkernel pkgに含まれる)

• dump時のkernelが使用していたfile

– vmcore(dump本体:Memory Image) :/var/crash/日付/vmcore

2014年5月14日水曜日

bash pause read

bash pause command - under Linux / UNIX


read -p "Press [Enter] key to start backup..."

2014年4月22日火曜日

tcsh while loop

@ x = 1
while ($x <= 20)
     echo $x
@ x += 5
end

2014年3月28日金曜日

date command ミリ秒 ms

date command ミリ秒 ms

$ echo  $(date +%c) $(printf '%03d' $(expr `date +%N` / 1000000))

処理に時間を掛けたくない場合は, simpleにする.
date +"%Y%m%d %H:%M:%S.%N"

terminalを閉じてもprocessを終了せず継続実行.

$ nohup command &

nohup commandは, nohup.out(or $HOME/nohup.out)にstdout,stderrを出力する.
出力できない場合は,nohup commandを実行できない.


・実は(?!), bash, tcsh, ksh なら, & を付けての実行だけでよい.
・zshは上記に該当しないので, nohupを使う.