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 モバイルプロジェクトの詳細な説明

推薦する

Vueのリストレンダリングの詳細な説明

目次1. v-for: 配列の内容を走査する(よく使われる) 2. v-for: オブジェクトのプロ...

CSS はモバイル互換性の問題を解決するために 0.5px の線を実装します (推奨)

【コンテンツ】: 1.背景画像のグラデーションスタイルを使用する2. スケールを使ってズームできる...

MySQL が uuid または snowflake id を主キーとして使用することを推奨しない理由の詳細な分析

前書き: MySQL でテーブルを設計する場合、MySQL では UUID や非連続かつ非繰り返しの...

CSS スタイルで一般的なグラフィック効果を示すサンプルコード

一般的な基本グラフィックと私が遭遇するいくつかの小さなアイコンについて簡単に説明します。以下は CS...

VMware12 で Ubuntu19.04 デスクトップ版をインストールする (インストール チュートリアル)

1. 実験の説明仮想マシンに、 Ubuntu 19.04オペレーティングシステムを手動でインストー...

ページ切り替え効果を作成するための純粋な CSS3 のサンプルコード

前に書いたものは複雑すぎるので、シンプルなコアにしましょう <html> <ヘッド...

HTML入力で値が変更されたときにリスナーイベントを追加することの簡単な分析

達成される効果多くの場合、入力ボックスの値の変化をリアルタイムで監視し、ブラウザを誘導してウェブサイ...

MySQL が group by をサポートしない場合の解決策の概要

MySQL 5.7.x の最新バージョンをダウンロードしてインストールしました。デフォルトでは、on...

シンプルなドラッグ効果を実現するJavaScript

この記事では、ドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...

SQL文におけるGROUP BYとHAVINGの使用に関する簡単な説明

GROUP BY 句と HAVING 句を紹介する前に、まず SQL 言語の特殊な関数である集計関数...

MySQL でコミットされていないトランザクション情報を見つける方法

少し前に、「ORACLE でコミットされていないトランザクションの SQL ステートメントを見つける...

MySQLをインストールして設定し、ルートパスワードを変更する方法

1. インストールapt-get install mysql-server にはアカウントとパスワー...

MySQL のソート関数 field() の詳細な例

序文私たちの日常の開発プロセスでは、ソートが頻繁に使用され、そのような要求がある場合もあります。たと...

ubuntu20.04 LTSにdockerをインストールする方法

ゼロ: 古いバージョンをアンインストールするDocker の古いバージョンは、docker、dock...

VMware vSphere 6.5 インストール チュートリアル (画像とテキスト)

vmware vSphere 6.5 は vSphere ソフトウェアのクラシック バージョンであ...