次のようなコースのテキスト ファイルがあります。
csc 4567 - Computer Programming
This course is about stuff...blah blah blah
4.0000 credit hours
テキスト ファイルを取得し、コース番号、コース名、コース単位時間を表示するために必要な情報を抽出する bash スクリプトを作成する必要があります。間にスペースはなく、カンマのみです。整数としてのコース単位時間。
コマンドラインを使用して情報を抽出することはできますが、bash スクリプトを作成するときに迷ってしまいます。bashでgrepとsedを使用する必要があると思いますか?わからない。これは私が持っているものです (これは明らかに正しいとは限りません)。アドバイスをいただければ幸いです。
while read courses.txt
do
$courseLine=grep -iE '^csc [0-9]{4}'
$creditHours=grep -iE '^[0-4]'
$courseNumber=${courseLine#/s/s*}
$courseName=${courseLine%/s/s*}
printf "$courseNumber,$courseName,$creditHours"
done
私が達成しようとしている以上のものは次のとおりです。ファイル行を読んで、「csc 4567 - Comp prog」をコース行として保存します。クレジット時間として「4」を保存します。コース行の 2 番目のスペースの左側のすべてをコース番号として保存します。 course line をコース名として使用すると、目的の出力が表示されます。
csc4567,Computer Programming,4 と出力されます。
はい、これは宿題ですが、私はフォーラムを初めて使用するため、投稿にタグを付けることはできません。