我有一个输入文件,其中包含以下数据:
one two
three
fish hat
cat hop
我必须将以下内容写入输出文件
one two three
fish hat cat hop
这是我到目前为止的代码
#!/bin/bash
#
# input and output files
FILE=$1
FILE2=$2
#checks to see if the input file exists
if [ -f $FILE ];then
echo "file $FILE found!"
else
echo "file $FILE does not exist"
exit 1
fi
#check to see if output file is empty
if [ -s $FILE2 ]; then
echo "$FILE2 already has data!"
exit 1
fi
#Joins every two input lines
while read first; do read second; echo "$firstLine $secondLine";
done < $FILE
cat $FILE &> $FILE2
我将输出文件打印到控制台但是当我使用cat命令显示输出文件的内容时。它显示原始输出文件。有人可以指出我正在犯的错误吗?
答案 0 :(得分:0)
这将满足您的要求:
cat $file | paste -d ' ' - -
并将输出发送到file2:
cat $file | paste -d ' ' - - > $file2
注意:使用小写变量,大写变量保留用于环境变量。
答案 1 :(得分:0)
done < $FILE cat $FILE &> $FILE2
我将输出文件打印到控制台但是当我使用cat命令显示输出文件的内容时。它显示原始输出文件。有人可以指出我正在犯的错误吗?
错误是您不首先将输出写入输出文件,即使您这样做,也要用cat …
覆盖输出文件;删除后者并将上面的行更改为:
done <$FILE >$FILE2