Unix Sed命令在执行后插入新行-如何避免?

Unix Sed命令在执行后插入新行-如何避免?,unix,sed,Unix,Sed,我试图将一行从一个文件复制到另一个文件,然后在同一行中添加字符 cat $INDIR/files | while read do sed -n 27p $INDIR/files >> $OUTDIR/files for i in {1..6} ; do echo -n '0.000000e+00 '; done >> $OUTDIR/files done 应该是这样的: copied text 0.000000e+00 0.000000e+00 0.000000e+00

我试图将一行从一个文件复制到另一个文件,然后在同一行中添加字符

cat $INDIR/files |
while read
do
sed -n 27p $INDIR/files >> $OUTDIR/files
for i in {1..6} ; do echo -n '0.000000e+00 '; done >> $OUTDIR/files
done
应该是这样的:

copied text 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 
copied text
0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
但看起来是这样的:

copied text 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 
copied text
0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
如何避免添加到输出中的换行?

尝试一下:

将您的sed行更改为:

awk 'NR==27{printf "%s ", $0}' $INDIR/files >> $OUTDIR/files
正如@devnull所评论的,您还可以执行以下操作:

sed .... |tr '\n' ' ' >>$OUTDIR/files
尝试一下:

将您的sed行更改为:

awk 'NR==27{printf "%s ", $0}' $INDIR/files >> $OUTDIR/files
正如@devnull所评论的,您还可以执行以下操作:

sed .... |tr '\n' ' ' >>$OUTDIR/files
尝试一下:

将您的sed行更改为:

awk 'NR==27{printf "%s ", $0}' $INDIR/files >> $OUTDIR/files
正如@devnull所评论的,您还可以执行以下操作:

sed .... |tr '\n' ' ' >>$OUTDIR/files
尝试一下:

将您的sed行更改为:

awk 'NR==27{printf "%s ", $0}' $INDIR/files >> $OUTDIR/files
正如@devnull所评论的,您还可以执行以下操作:

sed .... |tr '\n' ' ' >>$OUTDIR/files

另一个选项是通过管道将
sed
输出传输到
tr
,即
tr'\n'
@devnull添加到应答中,而thanx用于添加空格。:)@德夫努尔——我本来打算写下来作为答案的。你想做吗?这与说“使用awk”完全不同。“真正的”诀窍是让
sed
首先不产生换行符。。。但是我想不出怎么做。@Floris我不知道如何使
sed
不产生新行。当然,它与使用
awk
有很大的不同。另一个选项是将
sed
输出管道连接到
tr
,即
tr'\n'
@devnull添加到answer中,并使用thanx添加空格。:)@德夫努尔——我本来打算写下来作为答案的。你想做吗?这与说“使用awk”完全不同。“真正的”诀窍是让
sed
首先不产生换行符。。。但是我想不出怎么做。@Floris我不知道如何使
sed
不产生新行。当然,它与使用
awk
有很大的不同。另一个选项是将
sed
输出管道连接到
tr
,即
tr'\n'
@devnull添加到answer中,并使用thanx添加空格。:)@德夫努尔——我本来打算写下来作为答案的。你想做吗?这与说“使用awk”完全不同。“真正的”诀窍是让
sed
首先不产生换行符。。。但是我想不出怎么做。@Floris我不知道如何使
sed
不产生新行。当然,它与使用
awk
有很大的不同。另一个选项是将
sed
输出管道连接到
tr
,即
tr'\n'
@devnull添加到answer中,并使用thanx添加空格。:)@德夫努尔——我本来打算写下来作为答案的。你想做吗?这与说“使用awk”完全不同。“真正的”诀窍是让
sed
首先不产生换行符。。。但是我想不出怎么做。@Floris我不知道如何使
sed
不产生新行。当然,它与使用
awk
有很大不同。