# script ファイルネーム
テキスト形式のファイルが作られる。
http://yasutam.blogspot.jp/2013/12/ssh.html
行数の多いテキストの表示は
less ファイル名
lessが矢印に従って上下するから使いやすい。
moreは直感的に使えない。
テキストファイルが小さい時とか、パイプを使ってただ単に次に渡したいとき、コマンドプロンプトに自動で戻りたいときは
cat ファイル名
を使う。
cat << 適当な任意の文字 > 作成したいファイル名
とすると、文字を打ち込める画面が出てくる。
そこに文字を打って、終わりにしたいときに
先ほどの"適当な任意の文字"と同じ文字を打つと終了する。
ヒアドキュメントというそうだ。
シェルスクリプトの中でも使えるそうだ。
自分はviを使ってしまう。linuxのコマンドはOSをインストールした時と、そのあとの少しの間くらいしか使わないから、コマンドを忘れる。
cat ファイル名 | less
でもこんなことするなら、普通に
less ファイル名
でいい。
lessの終了の仕方は q
manコマンドもlessを使って表示している。
だから、終了はqで終了させる。
関係ないけど、ディレクトリ、ファイルが多い時の表示は
ls -la | less
あとはtree /home | less
とか
cd -
で、元のディレクトリに戻ることができる。
sed
文字の置換、削除などができる。
tr
文字を一括変換---使い方に注意した方がいいみたいだ。引数でファイル名を渡せないらしい。<を使うとか、パイプで渡すとか。あとは、変換の順序も何か決まりがあるらしい。
uniq
重複文字列の削除。
いきなり消すのが怖い時は、消す前にdオプションで確認を、
sort "調べたいファイル" | uniq -d
重複文字列の表示。まず、sortで並べ替える必要があるらしい。
wc
テキスト・ファイルの行数,単語数,バイト数
シェルスクリプトの演算、比較は
man test
か検索をかける。
複数のコマンドを ; (セミコロン) でつなぐと前のコマンドが終わり次第次のコマンドが実行される。
終了ステータス $?
コマンドが正常に終了した時終了ステータス$?は0、そうでないときは1などを返す。
例えば
[ -f "/etc/zzz" ]
で、/etc/zzzファイルが存在すると、
echo $?
は0。存在しないと1。
コマンド && 正常終了時($?が0)に実行したいコマンド
コマンド || 異常終了時($?が1など)に実行したいコマンド
[ -f "/etc/zzz" ] && cat /etc/zzz
/etc/zzzが存在すればcat /etc/zzzが実行される。
コマンドをパイプでつないだ時のそれぞれの終了ステータスを見るには
echo ${PIPESTATUS[@]}
とする。
echo {a..h}
a b c d e f g h
0 件のコメント:
コメントを投稿