質問: ファイルの特定の内容を取得します 聞いたことがあるので、この問題にツールが存在することは知っていますが、それらが何であるかはわかりません。/ etc/passwd内のユーザー名以外のすべてのデータをフィルターで除外するようなことをしたいと思います。たとえば、次のファイルからuser1、user2、user3を取得したいとします。この場合、ロジックは「ファイルの各行の最初の「:」までテキストを取得する」である可能性があります。user1:x:1:4 user2:x:2:5 user3:x:3:6 出力は次のようになります。user1 user2 user3
回答: perlとawkの下には、そのようなジョブ用の3番目のツールがあります。これはsedです。sed 's/:.*//' file これは置換コマンドです。コロンから置換:の後にドットが続きます。これは、任意の種類、任意のカウント(*)の文字のジョーカーであり、何もありません。これは 's(ubstitute)/ from/to /'であり、toは空です。つまり、 '最初の(sedはデフォルトで貪欲であるため)コロンからすべてを削除します(sedは行全体で適切に機能するため、行末まで)。もちろん、cutもすばらしいコマンドですが、別の家族からだと思います。