5行目の特定の数字をgrepしますが、25や52などは該当しません。

5行目の特定の数字をgrepしますが、25や52などは該当しません。

ユーザーIDのユーザーを見つける必要があります。認証システムの戻り結果は次のとおりです。これで、bashスクリプトを使用して正確な数の行を抽出する必要があります。 5でも25でもない..

------------
ID  LOGIN   
------------
28  user1
25  user2 
5   user3

使用するとgrep 52つの行ができますが、「5」の行が必要です。

どんなアイデアがありますか?

ベストアンサー1

これを行う方法はいくつかあります。

IMHOの最良の方法はを使用することです。awkこれはフィールドを処理するのに役立ちます。

grep以下に基づいたソリューションが必要な場合:

grep -w '^5'

正確な単語と一致するように-w指示するため、「52」と一致しません。grep"^" は grep に行の先頭から 5 を検索するように指示します。たとえば、先行スペースがある場合、検索は失敗します。

解決策はawk次のとおりです。

awk '$1 == 5'

ユーザー名だけが必要な場合は、2番目の列は次のようになります。

awk '$1 == 5 {print $2}'

数値以外の文字列を検索する場合は、文字列を二重引用符で囲みます。

awk '$1 == "abc" {print $2}'

おすすめ記事