0

大家好,我有一个问题。我有一个文件,其中有一些这样的数据

  • 芒果
  • 苹果
  • 葡萄

当我运行命令时

 tr '\n' ' ' < file.txt

它工作正常;输出是:

 mango apple orange grapes

但我有另一个文件,其中包含这样的数据

  • 12029
  • 西德拉沙希德
  • 7(共 471 个)

但上面的命令不起作用。文件有数字数据的问题吗?

我什至尝试过 sed 但失败了。

谁能告诉我是否有一种方法可以将这些数据写入一行?

4

3 回答 3

1

将评论转换为答案,因为它似乎是准确的:

你在看什么?问题可能是文件中有回车符(来自 Windows 机器的 CRLF 行结尾)?如果是这样,您可能会看到 '7(outof471)' 作为输出。

于 2011-10-11T06:19:09.330 回答
0
$ cat file.txt 
12029
SIDRASHAHID
7(outof471)

使用echo $()

$ echo $(cat file.txt)
12029 SIDRASHAHID 7(outof471)

如果您仍使用sed,您可以:

$ sed -e :a -e '$!N; s/\n/ /; ta' file.txt 
12029 SIDRASHAHID 7(outof471)
于 2011-10-11T04:45:37.067 回答
0

尝试这个:

awk '{printf $0}' yourFile
于 2011-10-11T08:27:54.723 回答