在Windows命令提示符下使用awk从列打印到一行

时间:2014-04-01 13:53:45

标签: printing awk line record gawk

我尝试打印出包含文件名的txt文件的记录(仅限1列)

data1.txt
data2.txt
data3.txt 

分成一行

data1.txt data2.txt data3.txt

我试过以下

awk -v RS='' -v OFS=',' '$1,$1' myfile.txt
awk '{print;next} {printf "%s ", $0}' myfile.txt

我看过相关的帖子,但没有任何建议有效,或者我得到了输出

.data3.txt

而不是包含3条记录的整行

我使用windows命令提示符运行awk 任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用awk

执行此操作
awk '{printf "%s ",$0}' file
data1.txt data2.txt data3.txt

答案 1 :(得分:0)

您的文本文件很可能具有DOS样式的行结尾,因此您必须考虑回车。

awk -v ORS=" " '{sub(/\r$/, ""); print} END {ORS="\n"; print ""}' myfile.txt

使用awk吗?使用tr

会更简单
tr -d '\r' < myfile.txt | tr '\n' ' '