我在 Mac 上使用终端,我有一系列文本文件,每个文件都包含如下数据:
300.50 253.50
301.00 156.26
301.50 191.57
我想为列插入一个标题,其中第一列标记为“波长”,第二列标记为文件名,以使其看起来像这样(间距无关紧要,只要它由空格划定即可):
Wavelength Filename
300.50 253.50
301.00 156.26
301.50 191.57
我有一个循环,将“波长”插入到每个文件中,效果很好,但添加文件名给我带来了一些麻烦。代码如下:
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 "波长"&& 回显 $文件.wq)
我该怎么做?我需要将文件名保存为变量并打印该变量吗?或者我可以使用修饰符将文件名转换为字符串吗?
如果您能想到什么,请告诉我。提前谢谢
答案1
那么以下内容呢:
for file in *.txt
do
ed -s $file < <(printf '%s\n' 1i "Wavelength $file" . wq)
done
顺便问一下,“.wq”和“1i”起什么作用?我以前没见过……