.crs
フィルタファイルを使用bash
し、ファイルからフィールドをインポートして.crs
テンプレートに入れたいです。
たとえば、これがファイルであるとします.crs
。
MAT Mathematics
TH 8/26/10 12/12/19
Data Analysis and Intepretation
60
4行見たい数字が50より大きい場合は、次のテンプレートを作成したいと思います。
Hi your class [[className]] has [[numStudents]]. This is too many. It starts on [[startDate]] and ends on [[endDate]].
[[classCode]]
行1(MAT)の最初の要素を取得し、表示するたびに必要な場所に配置したいと bash にどのように言いますか。
ベストアンサー1
プログラムはどうですかawk
?コース情報が常に示されているとおりに配置され、CRSファイルごとに1つのコース情報しかないとします。
awk 'FNR==1{class=$1}
FNR==2{start=$2; end=$3}
FNR==4{if ($1>50) printf("Your class %s has %d students. This is too many.\nIt starts on %s and ends on %s\n",class,$1,start,end)}' example.crs
FNR
これは、行番号(内部ファイルごとの行カウンタ変数を使用)に基づいてファイルを解析するため、例に示されているawk
正確な構造に依存します。これはまた、次のように一度に複数のファイルに適用できることを意味します。
awk ' ... ' *.csr
現在のディレクトリに複数のコース定義ファイルがある場合。