キーワードを含む行のみを出力する方法は?

キーワードを含む行のみを出力する方法は?

私はブラウザタブで特定のキーワードをチェックする小さなスクリプトを書いています。キーワードがある場合、スクリプトはタブを閉じます。これは、実際にPythonプログラムがサポートしている限り、すべてのブラウザで動作する単純な「ブロックサイト」スクリプトです。「ブロタブ」著者:ガラスボツカレフ。ブラウザプラグインをインストールするよりも安全です。

動作する最初のコード行は次のとおりです。

bt list | grep keyword > tmp-file; cut -c 1-7 < tmp-file | bt close

ただし、このコードはKISS要件に準拠しておらず、TAB-IDには常に正確に7文字が含まれていないため、実際には欠陥があります。

だから私はAWKを学びました - ありがとうこの回答について- 次のコマンドが出ました。

bt list | awk -F "[\t]" '/keyword/{print$1}'

今大丈夫!

他の初心者の場合:-Fはフィールド区切り文字を指定し、\ tはタブに設定します。 {print $ 1}はawkに最初のフィールドだけを印刷するように指示します。

2番目の質問:複数のキーワードをブロックしたいです。キーワードファイルの使用を検討しました。最良のアプローチは何ですか?内部ループの作成を検討しました。for i in "./keywords.txt"; do ...; done;

外部ループは、ブロックタイトルのあるタブが開いているかどうかをx秒ごとにテストするスクリプトです。

複数のキーワードを使用したい場合

ベストアンサー1

おすすめ記事