基本コマンドとファイル操作4
**tac コマンド
ファイルの内容を最後の行から表示します。
**tee コマンド
標準入力から読み込んだデータを標準出力とファイルの両方に出力します。
実行例
[root@node001 ~]# nl test1.txt | tee test2.txt | head -2
1 aaa
2 bbb
[root@node001 ~]# cat test2.txt
1 aaa
2 bbb
3 ccc
4 ddd
**コマンドを連続実行する「;」「&&」「||」
構文
例1)コマンド1、コマンド2を順々に実行する
$コマンド1;コマンド2
例2)コマンド1が実行できれば、コマンド2を実行する
$コマンド1 && コマンド2
例3)コマンド1が実行できなければ、コマンド2を実行する
$コマンド1 || コマンド2
**grep コマンド
テキストデータないの文字列検索を行う。
構文
>-vパターンに一致しない行を表示する
-n行番号を表示する-lパターンと一致するファイル名を表示-i大文字と小文字を区別しないで検索を行う
構文
$grep [オプション]検索する文字列パターン[ファイル名]...n
主なオプション | 説明 |
---|---|
-v | パターンに一致しない行を表示する |
-n | 行番号を表示する |
-l | パターンと一致するファイル名を表示 |
-i | 大文字と小文字を区別しないで検索を行う |
実行例
[root@node001 ~]# grep -n aaa test1.txt
1:aaa
[root@node001 ~]# cat test1.txt | grep -i aaa
aaa
[root@node001 ~]# cat test1.txt | grep -l aaa
(標準入力)
[root@node001 ~]# cat test1.txt | grep -v aaa
bbb
ccc
dddfff
ppp
[root@node001 ~]# #grep -l[一致するファイル名表示] [ファイル名]
[root@node001 ~]# cat test1.txt
aaa
bbb
ccc
ddd
fff
[root@node001 ~]# grep -l "aaa" *
mylist.txt
test1.txt
test2.txt
[root@node001 ~]# find [検索ディレクトリ][ファイル名検索]
[root@node001 ~]# find . -name "test1*.txt"
./test1.txt
./test/test1.txt
**tail [オプション]ファイル名...n
主なオプション | 説明 |
---|---|
-n | 行数を数字で指定、末尾のn行部分を表示 |
-f | ファイルの内容が増え続けているものと家庭し、常にファイルの最終部分を読み続けようとする |
**tr コマンド
標準入力であるキーボードから入力した文字を指定したフォーマットに変換して、
標準出力であるディスプレイに表示することができます。
構文
tr [オプション][文字群1 [文字群2]]
主なオプション | 説明 |
---|---|
-d | 文字群1で合致した文字を削除する |
-s | 文字群1で合致した文字の繰り替えしを1文字に置き換える |
実行例
[root@node001 ~]# cat test1.txt
aaa
bbb
ccc
ddd
[root@node001 ~]# tr a-z A-Z < test1.txt
AAA
BBB
CCC
DDD
**tr コマンド
標準入力であるキーボードから入力した文字を指定したフォーマットに変換して、
標準出力であるディスプレイに表示することができます。
構文
tr [オプション][文字群1 [文字群2]]
主なオプション | 説明 |
---|---|
-d | 文字群1で合致した文字を削除する |
-s | 文字群1で合致した文字の繰り替えしを1文字に置き換える |
実行例
[root@node001 ~]# cat test1.txt
aaa
bbb
ccc
ddd
[root@node001 ~]# tr a-z A-Z < test1.txt
AAA
BBB
CCC
DDD
**set コマンド
構文
set[オプション][編集コマンド][ファイル名]
主なオプション | 説明 |
---|---|
-i | 編集結果を直接ファイルに書き込む |
-s/パターン/置換文字列 | ファイル各行を対象に、最初にパターンに合致する文字列を置換文字列に変換 |
-s/パターン/置換文字列/g | ファイル内全体を対象に、パターンに合致する文字列を置換文字列に変換 |
d | パターンに合致する行を削除 |
p | パターンに合致する行を表示 |
実行例
[root@node001 ~]# sed 's/aaa/AAA/g' test1.txt
AAA
bbb
ccc
ddd
fff
ppp
AAA
[root@node001 ~]# sed -n '/aaa/p' test1.txt
aaa
aaa
[root@node001 ~]# sed '1d' test1.txt
bbb
ccc
ddd
fff
ppp
aaa
**wc コマンド
ファイル内のバイト数、単語数、行数を表示するにはwcコマンドを使用します。
構文
wc [オプション][ファイル名]
<table class="table2" border="1">
<tbody>
<tr>
<th><span style="color: #ff0000;">主なオプション</span></th>
<th><span style="color: #ff0000;">説明</span></th>
<tr>
<td>-c</td>
<td>バイト数だけ出力する</td>
</tr>
<tr>
<td>-l</td>
<td>行数だけを出力する</td>
</tr>
<tr>
<td>-w</td>
<td>単語数だけ出力する</td>
</tr>
</tbody>
</table>
実行例
[root@node001 ~]# wc -l test1.txt
8 test1.txt
[root@node001 ~]# wc -c test1.txt
29 test1.txt
[root@node001 ~]# wc -w test1.txt
7 test1.txt
**expand コマンド
引数で指定されたファイル内にあるタブをスペースに変換する場合に使用します。
構文
expand [オプション][ファイル名]
主なオプション | 説明 |
---|---|
-i | 行頭のタブのみスペースへ変換する |
-t | 置き換え桁数を指定する |