Ciscoの「start」コマンドに対応するLinux

Ciscoの「start」コマンドに対応するLinux

Cisco IOSでは、さまざまな組み込みツールを使用してコマンド出力をフィルタリングおよび操作できます。それらのいくつかは明確なLinuxと同等の機能を持っています。たとえば、「exclude」と「include」は、「grep -v」と「grep」の動作を提供します。

"begin"コマンドはすべての入力テキストを出力します。後ろに正規表現パターンと一致します。 Linuxでこの種の動作に対応する方法はありますか?

答え1

もちろん、awkを使用すると、これを簡単に実行できます。

$ echo -e 'a\nb\nc\nd' | awk '{if (p) {print;}} /^b$/ { print; p=1;}'
b
c
d

$ echo -e 'a\nb\nc\nd' | awk '{if (p) {print;}} /^b$/ { p=1;}'
c
d

これは次のように省略することもできます(@manatworkに感謝します)。

$ echo -e 'a\nb\nc\nd' | awk '/^b$/{p=1} p'
b
c
d

$ echo -e 'a\nb\nc\nd' | awk 'p; /^b$/{p=1}'
c
d

これを便利なシェルスクリプトに変換することは、ユーザーの練習問題として残ります。

答え2

grep -A1000 search各一致ラインの後に999ラインの出力を提供します。

答え3

less次に、次のように/検索します。

petrus@hive:/usr/bin$ ls -l | less
total 535796
-rwxr-xr-x 1 root   root        30244 2011-02-23 14:22 [
lrwxrwxrwx 1 root   root            8 2011-05-26 01:22 2to3 -> 2to3-2.7
-rwxr-xr-x 1 root   root           96 2011-04-11 21:07 2to3-2.7
[...]
-rwxr-xr-x 1 root   root         9588 2011-02-24 09:43 appres
-rwxr-xr-x 1 root   root         6930 2011-05-20 23:53 apr-1-config
:

今すぐ入力すると、/「less」プロンプト(:)が変わります。 "lsusb"を検索すると:

-rwxr-xr-x 1 root   root         9588 2011-02-24 09:43 appres
-rwxr-xr-x 1 root   root         6930 2011-05-20 23:53 apr-1-config
/lsusb
lrwxrwxrwx 1 root   root           13 2011-05-26 01:24 lsusb -> ../sbin/lsusb
-rwxr-xr-x 1 root   root       114528 2010-11-24 18:16 ltrace
[...]

答え4

sedでは非常に簡単です。$パターン()に一致する最初の行から最後の行まですべての行を印刷します。

sed -n '/pattern/,$p'

パターンに一致する行を省略するには、その行の前のすべての内容(該当する行を含む)を削除します。

sed '1,/pattern/d'

関連情報