Sed:Sedターミナルコマンドを使用したシェルスクリプティングの学習

Sed:Sedターミナルコマンドを使用したシェルスクリプティングの学習

Sed:Sedターミナルコマンドを使用したシェルスクリプティングの学習

コマンド「sed」 GNU / Linuxタイプの無料オペレーティングシステムでは、これは非常に用途の広いコマンドです。 典型的なものとして「インタラクティブ」ではなく「フロー」を指向したテキストエディタと見なされます、ファイルまたは標準入力を入力として受け入れ、各行を処理して、結果を標準出力に送信します。 つまり、 SED(Stream EDitor)を使用すると、一連のコマンドまたはコマンドファイルに基づいてファイルのさまざまな行の内容を変更できます。

通常、コマンド«sed»はフィルターとして使用されます、データエントリの各行を読み取り、要求されたアクションを実行します。これらのアクションは通常、読み取られ、抽出され、変更され、表示または保存されます。 その力はそのようなものですが さらに、快適な方法で、ファイルの行、レコードを削除したり、ファイルの行内の文字列を置き換えたりすることができます。

「sed」コマンドの概要

すでに他の過去の出版物で DesdeLinux 上記のコマンドの使用法について説明し、例を示しました。例えば: ファイルから特定の行を削除する方法..。 y ターミナルあり:正規表現の使用II:置換、したがって、今回は、もう少し高度で、それを使用した実用的な例を直接見ていきます。

基本的に、コマンド«sed»の構文は次のとおりです。

sed comandos_sed archivo

どこ 「Command_sed」 から読み取られる行をどうするかについてのXNUMXつ以上の仕様に対応します "アーカイブ"。

より広範囲に使用すると、次の構文が残ります。

sed [-ns] '[direccion] instruccion argumentos'

ここで:

SEDコマンドの使用形式

実例

パス内のファイル/フォルダーを一覧表示します

指定されたXパスの内容を一覧表示し、検索されたアイテムを検出/カウント/フィルタリングして、実行する後続のアクションを示すために使用できる便利なコマンドライン。

ls -l | awk '{ print $NF }' | sed 1d

例:

例1:SEDコマンド-シェルスクリプティング

「sed」コマンドを使用するこの他のバリアントは非常に便利です。

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

例4:シェルスクリプティング用のSEDコマンド

番号シーケンスを作成する

画面に表示するか、作成された数値シーケンス(またはその他の入力)をファイルに保存しますが、後で他のプロセスで読み取ることができる垂直形式ではなく水平(線形)形式で保存します。

seq 100|tr '\n' ' '|sed 's, $,\n,g'

例2:シェルスクリプティング用のSEDコマンド

コマンド«を組み合わせて同じ例を実行できます。渇き" とともに 「Printf」 以下に示すように:

printf '%s ' {1..100}|sed 's/ $/\n/'

例3:シェルスクリプティング用のSEDコマンド

除外されたファイルを削除する

除外するファイルのパターンを探してファイルシステムパスをふるいにかけ、残りのコンテンツを削除します。 正確で注意深い洗浄に非常に役立ちます。

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

例5:Shell_ScriptingのSEDコマンド

仮想MACアドレスを作成する

この手順は、危険なサイトを閲覧したり、ハッキングタスクを実行したりするときに、コンピューターのセキュリティまたは保護タスクに役立ちます。

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

以下に示すように、「sed」コマンドを他のコマンドと組み合わせて使用​​しても、同じ効果が得られます。

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

例:

例7:シェルスクリプティング用のSEDコマンド

ターミナルプロンプトを一時的に変更します

これは、特別なアクティビティを実行しているときに役立つパラメータをプロンプトに一時的に挿入するのに役立ちます。 この例では、プロンプトの表示方法のみを変更します。

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

例8.シェルスクリプティング用のSEDコマンド

「ps」コマンドの出力を管理する

«ps»コマンドの出力、つまりターミナルプロセスマネージャーから取得したもののフォーマットを可能にする非常に実用的なコマンド順序。

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

例:

例9:シェルスクリプティング用のSEDコマンド

これは、消費されたメモリの割合に応じてプロセスに適用できます。

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

コマンド「sed」を使用したコマンドラインのこれらの例は、非常に役立つことを願っています。 また、コンソールから直接使用することも、スクリプトに挿入することで間接的に使用することもできます(自動タスク)。

シェルスクリプトに関する次の投稿では、他のコマンドについて説明します。

コマンド「sed」についてもう少し詳しく知りたい場合は、このリンクにアクセスしてください。UnixおよびLinuxのチュートリアルと簡単なガイド「または」基本的な使い方»そして、私たち自身のブログでシェルスクリプトについてもっと学びたいのなら、ここをクリックすると、このテーマに関する他の出版物を見ることができます。 スクリプト作成 DesdeLinux.


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。