ファイルから特定のテキストを検索し、行を出力します(シェルスクリプト)


12

変数$ str1があるとします

str1="20140121-21:48:26|Joanne Frances|"

私がやりたいのは、ファイル内のその部分を検索することです。ファイルには、たとえば次のものが含まれます。

20140121-21:48:26|Joanne Frances|Perez|9173046751.000000|Mar 31|
20140121-21:50:28|Nikko|Real|9065887272.000000|Mar 21|
20140121-22:22:53|Czarina|Revilla|9999999999.000000|Jan 21|

出力は次のようになります。

20140121-21:48:26 | Joanne Frances | Perez | 9173046751.000000 | Mar 31 |

更新:最後に、試行された問題が一体何であるかを把握し、ファイルに実際にIS N'Tを意味することをecho $str1出力20140121|Adrian Perez|します。はぁ!私はそのような混乱です!-_-


単純にgrepを使用できます。例grep $str filename.txt
mcantsin 14年

私はそれを試してみました@mcantsin、それはうまくいきませんでした
joanne_

そして、エラーは何ですか?-出力なし?
mcantsin 14年

@mcantsinうん、出力なし!
joanne_ 14年

あなたの例をテストしましたが、私にとっては完璧に機能します。-間違いはありませんか?
mcantsin 14年

回答:


12

これを使って:

grep "$str" filename.txt

特殊文字の誤解を防ぐため。

詳細については、次を参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.