如何对由空格分隔的行值的文件进行排序?

如何对由空格分隔的行值的文件进行排序?

我有一个文本文件,其中包含纬度和经度行,如下所示:

17.7003 17.7003 17.7004 17.7004 17.7005 17.7005 17.7005 17.7006 17.7006 17.7006 17.7007 17.7007 17.7008 17.7008 17.7008 17.7009 17.7009 17.701 17.701 17.701 17.7011 17.7011 17.7011 17.7012 17.7012 17.7013 17.7013 17.7013 17.7014 17.7014 17.7015 17.7015 17.7015 17.7016 17.7016 17.7016 17.7017 17.7017 17.7018 17.7018 17.7018 17.7019 17.7019 17.702 17.702 17.702 17.7021 17.7021 17.7021 17.7022 17.7022 17.7023 17.7023 17.7023 17.7024 17.7024 17.7025 17.7025 17.7025 17.7026 17.7026 17.7026 17.7027 17.7027 17.7028 17.7028 17.7028 17.7029 17.7029 17.703 17.703 17.703 17.7031 17.7031 17.7031 17.7032 17.7032 17.7033 17.7033 17.7033 17.7034 17.7034 17.7035 17.7035 17.7035 17.7036 17.7036 17.7036 17.7037 17.7037 17.7038 17.7038 17.7038 17.7039 17.7039 17.704 17.704 17.704 17.7041 17.7041 17.7041 17.7042 17.7042 17.7043 17.7043 17.7043 17.7044 17.7044 17.7045 17.7045 17.7045 17.7046 17.7046 17.7046 17.7047 17.7047 17.7048 17.7048 17.7048 17.7049 17.7049 17.705 17.705 17.705 17.7051 17.7051 17.7051 17.7052 17.7052 17.7053 17.7053 17.7053 17.7054 17.7054 17.7055 17.7055 17.7055 17.7056 17.7056 17.7056 17.7057 17.7057 17.7058 17.7058 17.7058 17.7059 17.7059 17.706 17.706 17.706 17.7061 17.7061 17.7061 17.7062 17.7062 17.7063 17.7063 17.7063 17.7064 17.7064 17.7065 17.7065 17.7065 17.7066 17.7066 17.7066 17.7067 17.7067 17.7068 17.7068 

这是一排。我想将每个纬度分开并制作一列纬度。像这样我有 100 行。

答案1

您的问题标题提到了排序,但您的问题本身似乎是在问如何将每个值单独放在一行上

xargs printf '%s\n' <file

这假设项目由空格分隔

答案2

您可以使用tr

$ tr ' ' '\n' < file
17.7003
17.7003
17.7004
17.7004
17.7005
[...]
17.7068
17.7068

如果您需要对其进行排序,您可以通过管道传输到sort

tr ' ' '\n' < file | sort

您的示例数据已经排序,因此在这种情况下不会产生任何影响。

您也可以使用其他工具执行相同的操作。例如,如果您可以有多个连续空格,则 sed、perl 和 awk 会工作得更好(请注意,该sed命令假定 GNUsed或另一个了解 的 sed \n):

sed -E 's/ +/\n/g' file
perl -pe 's/ +/\n/g' file
awk 'gsub(/ +/,"\n")' file

相关内容