バッチファイルを処理するLinuxの1行コマンドの詳細な説明

バッチファイルを処理するLinuxの1行コマンドの詳細な説明

序文

最良の方法は、あなたが思いつく最も速い方法ではないかもしれません。職場で一時的に使用するスクリプトは堅牢である必要はなく、速く記述するほど良いです。参考までに、sed コマンドを使用してバッチ ファイルを処理するコマンドを作成する手法を示します。

需要事例1

現在のディレクトリにある 0_80_91.txt、0_80_92.txt、0_80_93.txt などをすべてコピーします。 。 。数十のファイルのファイル名が0_81_91.txt、0_81_92.txt、0_81_93.txtなどに変更されました。つまり、ファイル名の 80 を 81 に変更します。

実装コマンドは次のとおりです: ls *.txt |sed -nr 's/(0_)(80)(.*)/mv \1\2\3 \181\3/gp' | sh

#ls *.txt 
0_80_91.txt 0_80_92.txt 0_80_93.txt
#ls *.txt |sed -nr 's/(0_)(80)(.*)/mv \1\2\3 \181\3/gp'
0_80_91.txt 0_81_91.txt をコピー
0_80_92.txt 0_81_92.txt をコピー
0_80_93.txt 0_81_93.txt をコピー
#ls *.txt |sed -nr 's/(0_)(80)(.*)/mv \1\2\3 \181\3/gp' | sh
#ls *.txt
0_81_91.txt 0_81_92.txt 0_81_93.txt

需要事例2

cc_uncompress コマンドを使用して、現在のディレクトリ内のすべての 0_80_91.Z、0_80_92.Z、および 0_80_93.Z ファイルを解凍し、指定されたファイルに出力します。呼び出し形式はcc_uncompress -s 0_80_91.txt -d 1.txtです。 1.txt は任意のファイル名にすることができます。

実装コマンド 1 は次のとおりです: ls *.Z | sed -nr 's/(.*)/cc_uncompress -s \1 -d \1.txt/gp'

#ls *.Z | sed -nr 's/(.*)/cc_uncompress -s \1 -d \1.txt/gp'
cc_uncompress -s 0_80_91.Z -d 0_80_91.Z.txt
cc_uncompress -s 0_80_92.Z -d 0_80_92.Z.txt
cc_uncompress -s 0_80_93.Z -d 0_80_93.Z.txt
#ls *.Z | sed -nr 's/(.*)/cc_uncompress -s \1 -d \1.txt/gp' | sh

コマンド 2 の実装は次のとおりです: find . -name "*.Z" -exec cc_uncompress -s {} -d {}.bak \;

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

以下もご興味があるかもしれません:
  • Linux でファイルを削除するときに「操作は許可されていません」というプロンプトが表示される場合の対処方法
  • Linux はファイル名の後にスペースがあるファイルを見つけて処理します (2 つの方法)
  • Linuxファイル処理共通コマンド操作スキル
  • Linux でさまざまな圧縮ファイルを処理する方法
  • Windows で winscp とバッチ処理を使用して、SSH ポート経由で Linux サーバーにファイルをアップロードする
  • CD コマンドを使わずに Linux でディレクトリ/フォルダに入る方法
  • Linux で unzip コマンドを使用して複数のファイルを解凍する方法

<<:  Ubuntu16.04 インストール mysql5.7.22 グラフィックチュートリアル

>>:  MySQL 5.6.23 のインストールと設定環境変数のチュートリアル

推薦する

DockerコンテナでPythonを実行するディープラーニング環境を構築する方法

タスク マネージャーで仮想化を確認し、有効になっている場合は仮想化を、無効になっている場合はコンピュ...

HTMLフォーム要素の詳しい解説(パート2)

HTML 入力属性値属性value 属性は、入力フィールドの初期値を指定します。 <フォーム...

TypeScript のクラス

目次1. 概要2. シンプルなクラスを定義する3. 継承4. public、private、prot...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

React の国際化 react-intl の使用

React で国際化を実現するにはどうすればよいでしょうか? react-intlプラグインは、Re...

ドメイン名を介してプロジェクトにアクセスするnginx + tomcatの例

ドメイン名を使ってプロジェクトにアクセスする方法が気になったのですが、自分でドメイン名を取得するのは...

1つのSQL文でMySQLの重複排除が完了し、1つが保持されます。

数日前、ある要件に取り組んでいたとき、MySQL で重複レコードをクリーンアップする必要がありました...

deepin20 で NVIDIA クローズドソース ドライバーをインストールするための詳細な手順

ステップ1: ディープ「グラフィックドライバー」をインストールするdeepin v20にはデフォルト...

MySQL における := と = の違いをグラフィカルに紹介

:= と = の違い=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の...

JavaScript の parseInt() の魔法についての簡単な説明

原因このブログを書いた理由は、今日Leetcodeの日課問題をやっていたからです。文字列を整数(at...

Vue echarts は棒グラフの動的な表示を実現します

この記事では、棒グラフの動的な表示を実現するためのvue echartsの具体的なコードを参考までに...

mysql5.7でbinlogを使用してデータを復元する方法

ステップ1: MySQLでbinlogが有効になっていることを確認する '%log_bin%...

XHTML チュートリアル、XHTML の基礎を簡単に紹介します

<br />この記事では、XHTMLとXHTMLの基礎知識について簡単に紹介します。 X...

vue3 を使用してカウント関数コンポーネントのカプセル化例を実装する

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...

Linux の Docker コンテナで bash を終了する 2 つの方法

bash を終了する場合は、次の 2 つのオプションがあります。最初のもの: Ctrl + d を押...