記事のディレクトリ
並べ替えコマンド
ファイルの内容を行ごと、またはさまざまなデータ型に従って並べ替えます
文法形式
ソート[オプション]パラメータ
一般的なオプション
-f:大文字と小文字を区別しない
-b:各行の前のスペースを無視する
-n:番号で並べ替える
-r:逆並べ替え
-u:uniqと同じ、つまり同じデータの1行のみが表示されることを意味する
-t:指定するフィールドセパレータ、デフォルトは[Tab]キーで区切られます
-k:ソートフィールドを指定します
-o <出力ファイル>:ソートされた結果を指定されたファイルにダンプします
実験
uniqコマンド
ファイル内の連続する繰り返し行を報告または無視するために使用されます。多くの場合、sortコマンドと組み合わせて使用されます。
文法形式
uniq [オプション]パラメーター
一般的なオプション
-c:ファイル内の繰り返し行をカウントして削除します
-d:繰り返し行
のみを表示します-u:一度だけ表示される行のみを表示します
trコマンド
通常、標準入力から文字を置換、圧縮、および削除するために使用されます
文法形式
tr [オプション] [パラメータ]
一般的なオプション
-c:文字セット1の文字を保持し、他の文字を文字セット2に置き換えます(新行を含む\ n)
-d:文字セット1に属するすべての文字を削除します
-s:繰り返される文字列を文字列に圧縮します;文字セット2を使用します文字セット1を置き換える
-t:文字セット2文字セット1を置き換える、オプションなしの同じ結果
文字セット1:変換または削除する元の文字セットを指定します。変換操作を実行するときは、パラメータ「文字セット2」を使用して、変換の対象となる文字セットを指定する必要があります。ただし、削除操作を行う場合は、パラメータ「文字セット2」は不要です。
文字セット2:変換する対象の文字セットを指定します。
空白行を削除
するパス内の変数のコロン「:」を改行文字「\ n」に置き換えます
Windowsファイルに起因する「^ M」文字を削除します
Linuxで改行文字( "\ n")が検出されると、キャリッジリターン+改行操作が実行されます。代わりに、キャリッジリターン文字は制御文字( "^ M")としてのみ表示され、キャリッジリターン操作が実行されます。発生しません。Windowsでは、キャリッジリターン+ラインフィード( "\ r \ n")のみをキャリッジリターン+ラインフィードに使用できます。制御文字がないか、順序が正しくない場合、新しい行を正しく開始できません。
配列の並べ替え
カットコマンド
行の指定された部分を表示し、ファイル内の指定されたフィールドを削除します
文法形式
カットオプションパラメータ
一般的なオプション
-f:どのフィールドを指定して抽出します。cutコマンドは、デフォルトのフィールド区切り文字として「TAB」を使用します
-d:「TAB」はデフォルトの区切り文字です。このオプションを使用して、他の区切り文字に変更します。
–complement:このオプションは、指定されたフィールドを除外するために使用されます
–output-delimiter:出力コンテンツの区切り文字を変更します
正規表現
通常、文字列が特定の形式を満たしているかどうかを確認するために判断ステートメントで使用されます
正規表現の構成
正規表現は、通常の文字とメタ文字で構成されます
一般的な文字には、大文字と小文字、数字、句読点、その他の記号が含まれ
ます。メタ文字は、正規表現で特別な意味を持つ特殊文字を指します。これらを使用して、ターゲットオブジェクトの先頭文字(メタ文字の前の文字)を指定できます。 。の出現モード
基本的な正規表現の一般的なメタ文字:(サポートされているツール:grep、egrep、sed、awk)
\ :转义字符,用于取消特殊符号的含义,例:\!、\n、\$等
^ :匹配字符串开始的位置,例:^a、^the、^#、^[a-z]
$ :匹配字符串结束的位置,例:word$、^$匹配空行
. :匹配除\n之外的任意的一个字符,例:go.d、g..d
* :匹配前面子表达式0次或者多次,例:goo*d、go.*d
[list] :匹配list列表中的一个字符,例:go[ola]d,[abc]、[a-z]、[a-z0-9]、[0-9]匹配任意一位数字
[^list] :匹配任意非list列表中的一个字符,例:[^0-9]、[^A-Z0-9]、[^a-z]匹配任意一位非小写字母
\{
n\} :匹配前面的子表达式n次,例:go\{
2\}d、'[0-9]\{2\}'匹配两位数字
\{
n,\} :匹配前面的子表达式不少于n次,例:go\{
2,\}d、'[0-9]\{2,\}'匹配两位及两位以上数字
\{
n,m\} :匹配前面的子表达式n到m次,例:go\{
2,3\}d、'[0-9]\{2,3\}'匹配两位到三位数字
注:egrep、awk使用{
n}、{
n,}、{
n,m}匹配时“{
}”前不用加“\”
扩展正则表达式元字符:(支持的工具:egrep、awk)
+ :匹配前面子表达式1次以上,例:go+d,将匹配至少一个o,如god、good、goood等
? :匹配前面子表达式0次或者1次,例:go?d,将匹配gd或god
() :将括号中的字符串作为一个整体,例1:g(oo)+d,将匹配oo整体1次以上,如good、gooood等
| :以或的方式匹配字条串,例:g(oo|la)d,将匹配good或者glad