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コンテナの状態変換の実装

Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...

Windows での Tomcat サーバーのインストールに関するチュートリアル

1 ダウンロードして準備するまず、公式ウェブサイトからTomcatをダウンロードする必要があります。...

Linux での MySQL マルチインスタンスの展開とインストール ガイド

MySQLマルチインスタンスとは簡単に言うと、MySQL マルチインスタンスとは、サーバー上で複数の...

Vue3 の父子値転送に関する簡単な説明

目次父から息子へ: 1. 親コンポーネントのサブコンポーネントタグに、サブコンポーネントに渡されるデ...

シンプルなカウントダウン効果を実現するJavaScript

この記事の例では、カウントダウン効果を実現するためのJavaScriptの具体的なコードを参考までに...

Vue3+Element+Tsは、フォームの基本的な検索リセットやその他の機能を実装します

Vue2 の記述スタイルから Vue3 の形式に切り替えると、記述スタイルとコード構造にいくつかの変...

Vue3 手動カプセル化ポップアップ ボックス コンポーネント メッセージ メソッド

この記事では、ポップアップボックスコンポーネントメッセージのVue3手動カプセル化の具体的なコードを...

js を使用して QR コードを生成するサンプル コード

以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...

インタビューの質問: ホーリー グレイル レイアウトとダブル ウィング レイアウトの違い

序文今日は、聖杯レイアウトとダブルウィングレイアウト、そしてそれらの違いについてお話しします。この2...

Windows での MySQL スケジュールバックアップ スクリプトの実装

Windows サーバーでデータベース データを定期的にバックアップする場合は、Windows タス...

Tomcat での jar のロードに関する異常な問題の分析と解決

現象の説明:プロジェクトでは、Springboot を使用して Web プロジェクトを開始します。起...

最新の MySQL 5.7.23 のインストールと設定のグラフィックチュートリアル

2018 年の最新 MySQL 5.7 の詳細なインストールと設定は 4 つのステップに分かれており...

Macにmysql5.7.18をインストールする詳細な手順

1. ツール今必要なツールは2つあります: MySQLサーバー (mysql-5.7.18)、MyS...

HTML で 2 つの div タグの間に垂直線を描く方法

最近、インターフェースを描画しているときに、インターフェースに垂直線を描画し、この垂直線の高さが親 ...