私のフォルダ「Subj1」には、次の形式でソートされた複数の.txtファイルがあります。
regional_vol_GM_atlas1.txt
regional_vol_GM_atlas1_prop.txt
....
regional_vol_GM_atlas152.txt
各ファイルは、次の形式のデータで構成されます。
667869 667869
580083 580083
316133 316133
11398.1 11398.1
関連ファイル名とともにテキストファイルのデータをcsvファイルにエクスポートしたいと思います。
私はこれのためのコードを書いた
#!/bin/bash
for x in regional_vol*.txt; do
/bin/echo -n -e "$x\t"
done
paste regional_vol*.txt >> final_table.csv
各ファイルのデータをcsvファイルに貼り付けます。サンプル出力画像は以下の通りです。
しかし、出力から関連ファイル名をデータヘッダーにインポートしたいと思います。これらの出力を取得するには、どのようにコードを変更する必要がありますか?
以下は私が期待する出力の例です。
ベストアンサー1
私の考えでは、あなたが望むのは単純なコマンドリダイレクトであり、改行文字を印刷する別のリダイレクトであるecho
可能性が高いです。echo
このような:
files="regional_vol*.txt"
dst=final_table.csv
# remove the hash sign here to truncate the destination before writing
# > $dst
for x in $files; do
/bin/echo -n -e "$x\t" >> $dst
done
echo >> $dst
paste $files >> $dst
または、printf
ループを次に置き換えます。
printf "%s\t" $files >> $dst
echo >> $dst
paste $files >> $dst
どちらもヘッダー行の末尾に追加のタブを印刷しますが、これは問題ではありません。