私はMac上でTerminalを使用しています、そして私はそれぞれがこのようなデータを含む一連のテキストファイルを持っています:
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&lt; &lt;(printf '%s \ n' 1i "波長" &amp;&amp; $ file 。 wq)
- -ed -s $ file&lt; &lt;(printf '%s \ n' 1i "波長" &amp;&amp; printf $ファイル 。 wq)
- -ed -s $ file&lt; &lt;(printf '%s \ n' 1i "波長" &amp;&amp; echo $ file 。 wq)
これをどうやってやるの?ファイル名を変数として保存して印刷する必要がありますか?それとも、ファイル名を文字列に変換するために修飾子を使うことができますか?
あなたが何かについて考えることができるかどうか私に知らせてください。前もって感謝します
私はあなたのやり方をする方法がわかりません。しかし、次のようにすることもできます。echo "filename波長"&gt; a.outそれからcat filename&gt;&gt; a.out、次にfilenameをラベル付きfilenameに置き換えて、a.out filenameを移動します。
—
jmh
24 8月 2017 21:31