
私は Mac でターミナルを使用しており、次のようなデータを含む一連のテキスト ファイルがあります。
300.50 253.50
301.00 156.26
301.50 191.57
最初の列に「Wavelength」というラベルが付けられ、2 番目の列にファイル名のラベルが付けられている列にヘッダーを挿入します。次のようになります (スペースで区切られている限り、スペースは関係ありません)。
Wavelength Filename
300.50 253.50
301.00 156.26
301.50 191.57
各ファイルに「Wavelength」を挿入するループがあり、うまく動作しますが、ファイル名を追加すると問題が発生します。コードは次のとおりです。
for file in *.txt
do
ed -s $file < <(printf '%s\n' 1i "Wavelength" . wq)
done
変更されたセクションを太字にして、次の行を試しました。
- -ed -s $file < <(printf '%s\n' 1i "波長"&& $ファイル. wq)
- -ed -s $file < <(printf '%s\n' 1i "波長"&& printf $ファイル. wq)
- -ed -s $file < <(printf '%s\n' 1i "波長"&& $fileをエコー. wq)
どうすればいいでしょうか? ファイル名を変数として保存し、その変数を印刷する必要がありますか? または、修飾子を使用してファイル名を文字列に変換できますか?
何か思いついたら教えてください。よろしくお願いします
答え1
次のことについてはどうでしょうか:
for file in *.txt
do
ed -s $file < <(printf '%s\n' 1i "Wavelength $file" . wq)
done
ところで、「. wq」と「1i」は何をするものですか? 今まで見たことがありません...