Linux コマンドラインのワイルドカードとエスケープ文字の実装

Linux コマンドラインのワイルドカードとエスケープ文字の実装

ハードディスクのファイル属性のバッチ表示など、特定の種類のファイルに対してバッチ操作を実行する場合、通常のコマンドは次のようになります。

[root@linuxprobe ~]# ls /dev/sda
[root@linuxprobe ~]# ls /dev/sda1
[root@linuxprobe ~]# ls /dev/sda2
[root@linuxprobe ~]# ls /dev/sda3

しかし、時々私は本当にパーティションを知らない

ワイルドカード

アスタリスク(*)は0個以上の文字に一致します。

huanyu@ubuntu:~$ ls -l /dev/sda* 

疑問符 (?) は 1 文字に一致します。

huanyu@ubuntu:~$ ls -l /dev/sda? 

括弧内の数字 [0-9] は 0 から 9 までの 1 つの数字に一致しますが、括弧内の文字 [abc] は a、b、c の 3 つの文字のいずれかに一致します。

huanyu@ubuntu:~$ ls -l /dev/sda[0-9]
huanyu@ubuntu:~$ ls -l /dev/sda[135] 

sda で始まるすべてのデバイス ファイルを表示します。

[root@linuxprobe ~]# ls /dev/sda*
sda は、

sda の後の文字でデバイス ファイルを確認します。

[root@linuxprobe ~]# ls /dev/sda?
sda1 と sda2 を比較してください。

sda の後に 0 ~ 9 の数字を含むデバイス ファイルを確認します。

[root@linuxprobe ~]# ls /dev/sda[0-9]
sda1 と sda2 を比較してください。

sda の後に 1、3、または 5 が付いたデバイス ファイルを確認します。

[root@linuxprobe ~]# ls /dev/sda[135]
/dev/sda1

エスケープ文字

バックスラッシュ(\):バックスラッシュに続く変数を単純な文字列に変換します

huanyu@ubuntu:~$ echo "価格は\$$PRICEです" 

バッククォート(``):コマンドを実行し、結果を返します

huanyu@ubuntu:~$ echo `uname -a` 

値が 5 の PRICE という名前の変数を定義します。

[root@linuxprobe ~]# 価格=5

「price is 5」を出力するには:

[root@linuxprobe ~]# echo "価格は$PRICEです"
価格は5

「価格は 5 ドルです」と出力したいのですが、ドル記号が変数値を表す $ 記号と競合するため、エラーが報告されます。

[root@linuxprobe ~]# echo "価格は$$PRICEです"
価格は3767PRICEです

最初の $ 記号をエスケープするには、バックスラッシュを追加します。

[root@linuxprobe ~]# echo "価格は\$$PRICEです"
価格は5ドルです

一重引用符を使用すると、変数は評価されなくなります。

[root@linuxprobe ~]# echo '価格は\$$PRICEです'
価格は\$$PRICEです

uname -a を実行すると、ローカル カーネルのバージョンとアーキテクチャ情報を表示できます (バッククォート内のコマンドが実行されます)。

[root@linuxprobe ~]# echo `uname -a`
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP 2014年5月5日月曜日 11:16:57 EDT x86_64 x86_64 x86_64 GNU/Linux

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux シェルのコマンドラインオプションとパラメータの詳細な説明
  • Linux コマンドラインとシェルスクリプト Richard Blum
  • Linux ターミナルのコマンドラインでよく使われるショートカットキーの詳細な説明
  • Linux シェルのコマンドラインパラメータの使用方法の詳細な説明

<<:  Alibaba Cloud に MySQL データベースをインストールするときに発生する 2002 エラーを解決する方法

>>:  vite2.0+vue3 モバイルプロジェクトの詳細な説明

推薦する

Dockerでmongodbデータベースを使用するための実装コード

mongoイメージを取得する sudo docker pull mongo mongodbサービスを...

CentOS での MySQL ログイン 1045 問題を解決する

アプリケーション全体を CentOS にデプロイする必要があるため、当然ながらデータベース操作は不可...

ウェブサイトでページコンテンツや情報を直接コピーできない問題を解決する方法

最近では、多くのウェブサイトでは、ページ上の特定のコンテンツや情報を直接コピーすることは許可されてお...

JavaScriptのループの違いについての詳細な説明

目次序文列挙可能なプロパティ反復可能なオブジェクトforEachメソッドとmapメソッドチェーン呼び...

データベースの削除から逃走までの MySQL の徹底分析_上級編 (I) - データ整合性

1. データ整合性の概要1. データ整合性の概要データの冗長性とは、データベース内に重複したデータが...

CSS3 は、跳ねるボール効果を実現する Web アニメーションを作成します。

基本的な準備この実装には、クラス名が ball である単純な div が必要です。 HTMLコード:...

js メモリ リークのシナリオ、それらを詳細に監視および分析する方法

目次序文どのような状況でメモリリークが発生する可能性がありますか? 1. 偶発的なグローバル変数2....

dockerコンテナにvimをインストールするソリューション

目次物語の始まりvimをインストールし、hadoop-hive.envを編集します。不注意で回避しま...

Zabbix が MySQL のマスター/スレーブ状態を監視する方法の詳細な説明

MySQLマスタースレーブを設定した後、スレーブの状態が正常かどうかわからないことが多く、例外が発生...

DIVマスクを使用して、マウスでチェックボックスを直接チェックすることが無効である問題を解決します

フロントエンドの開発過程で、チェックボックスが必要な状況が発生しました。ユーザー操作の利便性を考慮し...

MySQL コマンドラインでよく使われる 18 個のコマンド

日常的なウェブサイトの保守と管理では、多くの SQL ステートメントが使用されます。熟練して使用する...

HTML Web ページにおける URL の表現

HTML では、一般的な URL はさまざまな方法で表現されます。相対 URL:コードをコピーコード...

React は antd のアップロード コンポーネントを使用してファイル フォーム送信機能を実装します (完全なコード)

私はプロジェクトを実行するために react を使い始めたばかりで、非常に未熟で完全な初心者です。私...

WeChatアプレットがフォーム検証を実装

WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...

vue3 でブロック崩しゲームを開発する方法をステップバイステップで教えます

序文vue3 を使った例をいくつか書いてみましたが、Vue3 のコンポジション API はよく設計さ...