2つのファイルの行数を比較し、ファイルの1つに行を追加します。

2つのファイルの行数を比較し、ファイルの1つに行を追加します。

確認プロセスでは、2つのファイルの行数を比較する必要があります。私はこれを行う方法を知っています(以下に示すコード)。ただし、プロセスが期待どおりに機能する場合、ファイルには常に1行が追加されます。したがって、file1 = file2 + 1の場合、プロセスは成功します。 ifコマンドにこの追加行をどのように追加できますか?

if [ "$(wc -l < file1.txt)" -eq "$(wc -l < file2.txt)" ]; then echo 'Match!'; else echo 'Warning: No Match!'; fi

ベストアンサー1

シェルが(最近の)bash「プロセス置換」と「算術拡張」を提供すると仮定した場合は、次のことを試してください。

{ read LN1 X; read LN2 X; } < <(wc -l file[12]); if (( ! LN2 - LN1 - 1 )); then echo 'match!'; fi

おすすめ記事