私はインターネット検索を試しましたが、whileループを使用して行を読み取るスクリプトが見つかりませんでした。詰まってどこから始めるべきかわかりません。
問題は次のとおりです。標準入力からテキスト行を読み取るためにwhile読み取りループを使用するbashスクリプトLongline.shを作成します。スクリプトはこれまでに読み取った最も長い行を追跡し、入力の終わりに達するとその行を印刷する必要があります。
また、質問にテキスト行を含むファイルを入力するように求められた場合は、そのファイルを読み取るか、テキスト行自体を入力するかはわかりません。
ありがとう、KB
ベストアンサー1
cuonglmのリンクによると、bash
ループは避けるべきです。
awk
この意味では、次のコードは標準のUnixツールを使用してファイル内の最長行の長さを取得しますが、bash
繰り返しは行いません。
awk '{n=length($0)>n?length($0):n} END{print n}' file
長さを取得するのではなく、最も長い行を印刷するには、次のようにします。
awk '{longest=length($0)>length(longest)?$0:longest} END{print longest}'