Linux Install

Android

Linux Tools

Linux AV

Linux Memo

WINDOWS

PROGRAM

動画 Memo

音楽 Memo

モバイルアプリ Memo

FILE FORMAT

PROTOCOL

DEVICE

BookMark

その他


CommandLine   

shutdown

再起動

reboot

あるいは

shutdown -r now 

シャットダウン

shutdown -h now

効かない場合

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger
echo b > /proc/sysrq-trigger

sed

文字列の置換。 tr は同じ長さしか置換できないがこれは長さが違ってもできる

sed "s/http/https/" input.txt > output.txt

xargs

リターンで羅列された文字列をスペースで連結してシェルに渡せるように

input.txt

http://aaa.com/
http://bbb.com/
http://ccc.com/
cat input.txt |xargs wget 
wget http://aaa.com http://bbb.com http://ccc.com

と等価になる。


ちなみに引数を再帰的に実行しないコマンドに渡す場合は

xargs -n1 command

とすると1引数ごとに1回コマンドが発行される

find -name "*.csv" | xargs -I{} sh -c 'cat {} > {}.2'  

とすると {} の部分が入力ファイル名に変換される

xxd

16進数 <-> binary 相互変換を行う

ダンプ

$ xxd -g 1 binaryfile

復帰

$ echo 'aabb' | xxd -r -p

find

そのディレクトリ以下の ごみファイルを全消し
find -name '*~' |xargs rm 

cut

" で区切られた文字列の2番目を取り出す
cut -d '"' -f 2

ファイル中の特定文字列を一括変換

# find . -name '*.txt' | xargs grep -l '[regexp]' | xargs sed -i.bak 's/[regexp]/[replacement]/g'

バイトカット

head コマンドのバイナリ版
dd if=inputfile of=outputfile bs=1 skip=6 [count=5]
5バイト目から 6バイト

標準エラー出力

make 2>&1 |less
make のエラー出力を less で確認

mke2fs

format コマンドのようなもん

mke2fs -j /dev/hdb1

xml をパース

<?xml version="1.0" encoding="utf-8"?>
<data>
  <timestamp>1278479900154</timestamp>
</data> 
xpath hoge.xml "//data/timestamp/text()" 2>/dev/nulll

※ stderr にゴミがつくので捨てる

date

formatting

date +'%Y%m%d-%H%M'

unixtime => string

date -d @1278479900

str => unixtime

date --date '20100729 19:11' +'%s'

csv 中の date -> unixtime変換

cat hoge.csv | sed -r "s|(.{4})/(.{2})/(.{2}) (.{2}):(.{2}):(.{2})|\1 \2 \3 \4 \5 \6|" |awk -F, '{FS=","; OFS=","} {print $1,mktime($2),$3;}'

$1,$3 の数はお好みで

csv 中の unixtime -> date 変換

awk -F, '{print strftime("%Y/%m/%d %H:%M:%S",$3);}' file.csv

xml中の timestamp をパースして date で見てみる例

(echo -n @; echo `xpath data.xml "//data/timestamp/text()" 2>/dev/null` / 1000 | bc ) |xargs date +'%Y/%m/%d %H:%M:%S' -d