これは前の質問につながります。 Bash:複数のファイルから指定された列の最も高い値を持つ行を選択し、最も高い値を持つ行を含む出力ファイルを作成します。
私が使った解決策は次のとおりです。
for file in mi*
do
sort -k14,14 -n $file | tail -1
done > result
出力ファイルを作成するときにファイル名を含む列を追加できるように、このコードを編集する簡単な方法があるのか、それとも別のアプローチを使用する必要があるのか疑問に思います。
この問題を発見しました複数のファイルからデータを取得し、ファイル名を追加するBashコマンドしかし、私のニーズに合わせて調整する方法がわかりません。
追加情報で更新:ファイルはtsvで、列名があります。
ベストアンサー1
for file in mi*
do
printf "%s " $file
sort -k14,14 -n $file | tail -1
done > result
または
for file in mi*
do
echo "$file $(sort -k14,14 -n $file | tail -1)"
done > result
区切り文字に応じて、ファイル名の後のスペースを別の文字に置き換えることができます。