
kshで以下の処理を行いたいのですが、bshで使えるオプションが使えないようです。どうすれば??
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ファイル ./test の内容は以下のとおりです。
test1
30
50
12
test2
60
12
01
test3
***
20
***
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(1)例えば "test2"という文字列を含む行と、合わせて下3行を拾って表示させたい時は、どのようにコマンドを打てばよいのですか?
test2
60
12
01
のように表示させたい。
(2)あらかじめ、とりだしたい情報がn行目にあるとわかっている時に、
取り出したい行を複数指定して表示させるにはどのようにコマンドを打てばよいですか?
No.3ベストアンサー
- 回答日時:
追記
> kshで以下の処理を行いたいのですが、bshで使えるオプションが使えないようです
各コマンドでの機能は、各コマンドに依存する問題で、シェルの違いは関係ありません。
AIXではPOSIXという規格に準じたgrepがインストールされています。
LinuxではGNU grepというGNUが独自拡張したgrepがインストールされています。
なので、(それぞれのシェルがインストールされているとして) AIXでbashを動かしても、grep -B は使えないし、 linuxでkshからgrep -Bとすると正常に動作します。
なお、シェルには外部ファイルを使用しない内蔵コマンドというものがあり、これは(Bash独自の内蔵コマンドがkshで使えないなど)シェルの違いに影響を受けます。
No.2
- 回答日時:
-Aとか-BとかはGNU grep独自の拡張なので、AIX等のgrepでは使えません。
もしかしたら別名(ggrep)とか、別ディレトリとかにGNU grepがあるかもしれませんが、環境依存のことなのでなんとも言えません。
解決策の一つはGNU Grepを自前でビルドすることです。
$HOME/binあたりにインストールしましょう。
もう一つは、sed,awk,perl等のスクリプトで同等の処理をすることです。
例えば、awkなら
awk '/test2/ {a=3+1;} a>0 {print ; a--}' < test
で test2とそれに続く3行を表示します。
(2)は↓にある方法が有効なはずです。
http://oshiete1.goo.ne.jp/qa5810772.html
No.1
- 回答日時:
以下、linuxのgrepのオプションですが、使えないのですか?
-C [NUM], -NUM, --context[=NUM]
NUM で指定した行数 (デフォルトは 2) だけ、パターンにマッチした行の前後の行も表示します。
取り出す行がわかっているなら、
http://ambiesoft.ddo.jp/blog/archives/328
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows11 デスクトップ アイコ...
-
Windows11でタスクバー・スタ...
-
勝手に無変換になる
-
ホーム及びロック画面の消費が1...
-
windows11 きれいなロック画面...
-
写真をコピーしたら作成日時が...
-
初期化後の任意のアプリの復元
-
Windows11 システム通知音がも...
-
シャットダウンで壁紙がなくなる
-
エクスプローラのアクティブウ...
-
Windows11で、背景が勝手に変わ...
-
Windows11のデスクトップのアプ...
-
窓を表示させない
-
OSのWindows11のインストールに...
-
新品のパソコンをお店で買った...
-
「Wi-Fiアダプターへのアクセス...
-
Windows11のシステム通知音が小...
-
LinuxのOSで、Adobeフォトショ...
-
通知領域のアイコンや文字サイ...
-
Windows xpでは ChromeOS Flex...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
scpコマンドでリモートサーバの...
-
【ターミナル】MacBookにディー...
-
Illustratorのデータをまとめて...
-
DOSコマンドでのワイルドカ...
-
Windows10のRegSys32に登録され...
-
telnet,rlogin,rshの違いってな...
-
IBM漢字コードのSJIS変...
-
rcpコマンドについて、教えて!
-
コマンドでのコンピュータ名変...
-
DOSのAUTOEXEC.BATの書き方、等
-
cactiでグラフが表示されない
-
wgetの正規表現について
-
FTP接続中のコマンド実行結果を...
-
AIX ksh利用 grep 検索で マ...
-
linuxのreadコマンドについて
-
今年の経過日数 linixコマンド...
-
属性変更できないです。
-
Solaris rmコマンドをシェルで...
-
Linux9でのCUIの日本語表示につ...
-
lsコマンドで表示するファイル...
おすすめ情報