基本的には、同じデータであるドライバーのパフォーマンス国籍を含む2つのテキストファイルF1a.txt
があります。F1b.txt
たとえば、
Hamilton GBR
Alonso SPA
これら2つのファイルをに接続しましたF1_drivers.txt
。次の作業を行うにはどうすればよいですか?
アルファベット順に並んだパイプを使って英国式
F1a.txt
とF1b.txt
英語を表示するドライバです。現在のディレクトリに名前で作成された長いファイルのリストを出力します
listing
。新しいディレクトリに変更し、そのディレクトリにある長いファイルのリストを
listing
。GER
F1
Grepはで始まり、終わるすべてのファイルで文字列を見つけます.txt
。#4を実行しますが、出力をパイプして
cat
次の出力を含むファイルを生成します。grepout.txt
役に立つ基本的な情報がありますが、どこに行くべきかわかりません。
答え1
cat F1a.txt F1b.txt | grep British | sort -d
私たちは* nixシステムのファイル内容を読むためにcatを使います。
次に、パイプ(文字|)を使用してcatの出力をgrepにパイプします。
次に、grepコマンドを使用してcatへの入力から「British」という単語を検索し、grepを使用して出力をフィルタリングして正しい行を表示します。
次に、別のパイプを使用してgrepの出力をsortに供給し、推測できるように入力をソートします。 -dパラメーターを使用してアルファベット順にソートします。ls -al > listing
これには、シェルI / Oリダイレクト演算子 ">"を使用する必要があります。
BASHを使用してファイルを使用すると、BASHは次のことを行います。
STDOUTまたは標準出力(コマンドラインまたはツール出力)を許可します。
そのパスにファイルがある場合は、STDOUTの新しいデータでそのファイルを上書きし、そうでない場合は作成します。ファイルを作成し、STDOUTのデータをファイルに書き込みます。
lsを使用して作業ディレクトリーに関する情報を提供し、-alパラメーターを提供します。これは、デフォルトで-allfilesを-longlisting形式で表示するように指示します。
次に、>リダイレクト演算子を使用してlsの出力をファイルリストに入れます。cd a/directory/
ls -al >> /path/to/listing
CDはディレクトリを変更します。 cd a/directory/ の意味は、任意のディレクトリを選択してコマンドと共に使用することです。実際に欲しいものではない場合は、文字通りa / directory /でcdすることはありません。
次に、以前のlsコマンド(remember、-allfiles、-longformat)を再利用し、別のシェルリダイレクトコマンドを使用します。今回はSTDOUTを許可し、それを後で指定されたファイルに追加して生成するたびにファイルリストに送信する>>を使用します。cat F1*.txt | grep GER
この時点で、私たちは最初の項目と同じことをします。つまり、catを使用してファイルからデータを読み取り、grepを使用して検索します。しかし、私たちは別の新しいシェル演算子である今回は通常ワイルドカード文字として知られているアスタリスクを使用しています。 F1*.txt がシェルに指示するのは、基本的には次のとおりです。
別のディレクトリを指定していないので、現在のディレクトリ内のすべてのファイルを見つけます。 F1で始まり、その後に何もなく、.txtで終わると、そのファイル名が返されます。これにより、catは複数のファイルをインポートし、それを実行します。つまり、指定されたファイルの内容をSTDOUTにリンクします。
次に、以前と同様に、STDOUT のすべての情報を grep にパイプし、GER を検索するように指示します。cat F1*.txt | grep GER | cat > grepout.txt
それから私たちができることは、grepの出力を入力としてキャットに戻すことです。次に、以前に行ったように、>演算子を介してcatの出力を保存して、全体のshe-bangを完成させます。