この文書の現在のバージョンと選択したバージョンの差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
ja:bash [2017/02/26 17:34] kota [連番ファイルの後半だけ削除] |
ja:bash [2017/08/30 04:12] (現在) kota |
||
|---|---|---|---|
| ライン 3: | ライン 3: | ||
| ---- | ---- | ||
| - | ===== 標準出力・標準エラー出力 ===== | ||
| - | File Descriptorは | + | * [[:ja:bash:stdouterror|標準出力・標準エラー出力]] |
| - | * 標準出力 : 1 | + | * [[:ja:bash:WantToDo1|scriptがあるディレクトリの絶対パスをとる]] |
| - | * 標準エラー出力 : 2 | + | * [[:ja:bash:WantToDo2|1日前の日付を取得]] |
| + | * [[:ja:bash:WantToDo3|aliasの一時解除]] | ||
| + | * [[:ja:bash:WantToDo4|連番ファイルの後半だけ削除]] | ||
| + | * [[:ja:bash:WantToDo5|変数から一部を抜き出す]] | ||
| + | * [[:ja:bash:WantToDo6|macでsshのホスト名の補完など: bash-completion]] | ||
| + | * [[:ja:bash:WantToDo7|変数を使って連番を生成]] | ||
| - | ===== scriptがあるディレクトリの絶対パスをとる ===== | ||
| - | |||
| - | <code bash> | ||
| - | FILE_DIR=$(cd $(dirname $BASH_SOURCE); pwd) | ||
| - | </code> | ||
| - | * $BASH_SOURCE : scriptの絶対パス | ||
| - | * cd しているが、scriptの処理が終わった後には元のdirectoryに戻っている | ||
| - | |||
| - | ===== 1日前の日付を取得 ===== | ||
| - | |||
| - | <code bash> | ||
| - | date -d '1 days ago' | ||
| - | </code> | ||
| - | |||
| - | とする。1をNに変えれば、N日前。 | ||
| - | |||
| - | ===== aliasの一時解除 ===== | ||
| - | |||
| - | \lsのように、コマンドの前に"\"をつければ良い。 | ||
| - | |||
| - | |||
| - | ===== 連番ファイルの後半だけ削除 ===== | ||
| - | |||
| - | file_0.txt\\ | ||
| - | file_1.txt\\ | ||
| - | ・\\ | ||
| - | ・\\ | ||
| - | ・\\ | ||
| - | file_99.txt\\ | ||
| - | があるうち、50−99までを削除したいとする。 | ||
| - | |||
| - | ''ls -v file_* | tail -n 50 | xargs rm '' | ||
| - | |||
| - | * ''ls -v file_*'' で数字順にls出力 | ||
| - | * ''| tail -n 50''で前の出力の後ろ50を切り出す | ||
| - | * ''| xargs rm''で前の出力をパラメータとして受け取り、rmに渡している | ||
| - | |||
| - | |||
| - | はじめ、lsがaliasされてうまくいかなかったが"\ls"としてやるとうまくいった。 | ||
| - | |||
| - | |||
| - | ===== 変数から一部を抜き出す ===== | ||
| - | |||
| - | ''${PARNAME:OFFSET:LENGTH}'' | ||
| - | |||
| - | によって変数の中から、指定した箇所(Offset)からある文字数(length)だけを抜き出してくることができる。\\ | ||
| - | 例: | ||
| - | <code bash> | ||
| - | HOGE="abc123def" | ||
| - | ## 頭から3文字を抜き出して新しい変数FUGE1に詰める | ||
| - | FUGE1=`echo ${HOGE:0:3}` | ||
| - | ## 2文字目から最後までを抜き出す(LENGTHを省略すると最後まで指定したことになる) | ||
| - | FUGE2=`echo ${HOGE:1}` | ||
| - | </code> | ||