1. ソートコマンド
- ファイルの内容を動作単位で並べ替え、またさまざまなデータ型に従って並べ替えます。
- 比較原理は、ASCII コード値に従って最初の文字から後方に比較し、最終的に昇順に出力します。
文法形式:
sort [オプション] パラメータ
cat ファイル | sort オプション
キャラクター | オプション |
---|---|
-n | 番号順に並べ替える |
-r | 逆ソート |
-u | uniq に相当し、同じデータが 1 行に表示されることを示します。 |
-t |
指定字段分隔符,默认使用[Tab]键分隔 |
-k |
指定排序字段 |
-o | <出力ファイル>: ソートされた結果を指定されたファイルにダンプします。 |
-f | 大文字と小文字は無視され、比較のためにすべての小文字が大文字に変換されます。 |
-b | 各行の前の空白を無視する |
実験 1; sort を直接使用して最初の文字で並べ替える
実験 2: ソートを使用して小さいものから大きいものへ昇順に並べる
実験 3: sort を使用して降順に並べ替える
実験 4: 繰り返されるデータを 1 行だけ表示する
実験 5: -t、-k を使用して並べ替えを指定する
Two.uniq コマンド
ファイル内の連続した繰り返し行を報告または無視するために使用され、多くの場合
sort命令
組み合わせて使用されます。
構文形式:
uniq [オプション] パラメーター
cat ファイル | uniq オプション
オプション | 説明 |
---|---|
-c | ファイル内の重複行をカウントして削除する |
-d | 連続した重複行のみを表示 |
-u | 1 回出現する行のみを表示する |
コマンドのデモ:
(1) sort -n コマンドを使用してシーケンスを並べ替え、uniq を使用して重複する数値を削除します
(2) uniq -d を使用して重複する値を表示します
(3) uniq -u を使用して重複しない
値(4) このコンテンツ内の行コンテンツの出現数を表示するには、uniq -c を使用して表示できます。
Three.tr コマンド
tr コマンド - 標準入力の文字の置換、圧縮、削除によく使用されます。
语法格式:
tr [选项][参数]
共通オプション | 説明 |
---|---|
-c | 文字セット 1 の文字は予約されており、他の文字 (改行 \n を含む) は文字セット 2 に置き換えられます。 |
-d | 文字セット 1 に属するすべての文字を削除します |
-s | 繰り返される文字列を 1 文字に圧縮し、文字セット 1 を文字セット 2 に置き換えます。 |
-t | 文字セット 2 は文字セット 1 を置き換えますが、オプションなしでも同じ結果になります |
字符集1
: 変換または削除する元の文字セットを指定します。変換操作を実行するときは、パラメータ「Character Set 2」を使用して、変換対象の文字セットを指定する必要があります。ただし、削除操作を実行する場合、パラメータ「Character Set 2」は必要ありません
字符集2
。変換先のターゲットの文字セットを指定します。
コマンドのデモ:
(1) -c を使用して置換します。改行文字を置換したくない場合は、\n を追加します。
(2) -d を使用して文字を削除します
(3) -s を使用して繰り返し文字を圧縮し、置換します
(4) tr コマンドを使用して配列をソートします
4.カットコマンド
Cut コマンド - 行の指定された部分を表示し、ファイル内の指定されたフィールドを削除します。
语法格式:
cut 参数
cat 文件名 | cut 选项
オプション | 説明 |
---|---|
-f | どのフィールドを抽出するかを指定します。Cut コマンドはデフォルトのフィールド区切り文字として「TAB」を使用します。 |
-d | 「TAB」はデフォルトの区切り文字です。他の区切り文字に変更するには、このオプションを使用します。 |
- - 補足 | このオプションは、指定されたフィールドを除外するために使用されます。 |
- - 補足 | このオプションは、指定されたフィールドを除外するために使用されます。 |
コマンドのデモンストレーション:
(1) -f と -d を使用して分割フィールドを指定します
(2) 複数フィールドの分割表示を実現します
(3) –complement コマンドを使用して反転出力を実行します。指定された番号以外は表示されず、それ以外は出力されます
(4) –output -delimiter コマンドを使用して、出力コンテンツの区切り文字を指定します
5. 分割コマンド
Linux システムで大きなファイルをいくつかの小さなファイルに分割する
split 选项 参数 原始文件 拆分后文件名前缀
共通オプション | 説明 |
---|---|
-l | 行数で分割 |
-b | サイズごとに分ける |
6.ペーストコマンド
実験的なデモンストレーション:
(1) 列内のファイルをマージします
(2) 間隔文字を指定します
(3) ファイルを行ごとに貼り付けるのではなく、-s を使用して行にマージ
します (4) コマンド ラインに r を追加して、マージするディレクトリ ファイルを指定します
7.evalコマンド
コマンドワードの前に eval を追加すると、シェルはコマンドを実行する前に eval を 2 回スキャンします。
eval コマンドは、まずコマンド ラインをスキャンしてすべての置換を探してから、コマンドを実行します。
このコマンドは、1 回のスキャンでは機能を実現できない変数に適しています。该命令对变量进行两次扫描
echo "hello world" > file1
myfile="cat file1"
echo $myfile
#现在还只是显示变量的值
eval $myfile
#经过eval的扫描后,变量的值被替换为cat file1的执行结果
[root@dz666 ~]# echo "hello world" > file
[root@dz666 ~]# myfile="cat file"
[root@dz666 ~]# echo $myfile
cat file
[root@dz666 ~]# eval $myfile
hello world
# eval $myfile -> cat file -> hello world
eval コマンドの記述:
vim 2.sh
a=100
b=a
echo \$$b
eval echo \$$b
[root@dz666 ~]# sh test2.sh
$a #执行\$$b的命令
100
执行顺序为 echo \$$b → echo \$a → 100