我的部分代码如下:
output=$(cat databaselog | awk '{print $9,$1,$2,$6}' )
echo $output >> savedfile
输出将是这样的,保存在一个名为savedfile的新文件中
name1 date1 id1 ip1 name2 date2 id2 ip2 name3 date3 id3 ip3
但我希望它是这样的:
name1 date1 id1 ip1
name2 date2 id2 ip2
name3 date3 id3 ip3
我知道这很容易,但我找不到正确的方法,请帮忙,谢谢!
答案1
当您回显它$output
时,您需要双引号。"$output"
否则,输出会将换行符和其他空白转换为空格。
对命令替换加双引号也是一个好习惯。 output="$(...)"
而不是仅仅output=$(...)
例如
output="$( cat databaselog | awk '{print $9,$1,$2,$6}' )"
echo >> savedfile
echo "$output" >> savedfile
但你最好这样做:
echo >> savedfile
awk '{print $9,$1,$2,$6}' databaselog >> savedfile