我有一个文件的日期(格式YYYY )和他们的最高/分钟/平均气温,伴随着每天的降水量。日期位于字符串的前三列中(例如,1900 9 19 ),空格字符是分隔符。
我需要根据最高温度(使用“排序-k 5 -n”命令按该列排序)对它们进行排序,现在需要显示日期,而不是温度和其他数据。我能做些什么来只选择这些列,而不从原始文件中删除任何内容?
示例(只有最后一行是在文件中找到的真实数据):
FIELDS
1 2 3 4 5 6 7 8 9
YYYY M DD AVG MAX MIN ????? ?? ????
1980 1 12 252 360 140 10073 59 2692发布于 2019-08-15 16:39:15
完成上面描述的排序之后,每次您想要显示文件时,都要通过其他文本处理工具运行该文件,比如awk,如Rinzwind在上面的注释或sed中所示。这是文本处理,它是使使用Linux (和Ubuntu)非常有用的事情之一。
然后,将命令放入外壳脚本中。编写脚本将使运行它变得非常简单,因为不是每次输入确切的命令,您只需键入脚本的名称即可运行它。
脚本意味着用您想要与谢邦一起使用的命令编写一个文件
#!/bin/sh
# /user/local/bin/showmax 2019-08-15 fedeaimar
# Sort the sourcefile on maximum temp then show just the date
#
sort -k 5 -n /path/to/sourcefile | awk '{print $1, $2, $3}'
# end of script在“showmax”中,需要将/path/ to /替换为数据文件的位置,并将源文件替换为数据所在的文件的名称。
若要使"showmax“可执行,请执行
chmod u+x showmax然后将其移动到/usr/local/bin中,以便在任何地方都可以找到它。
如果你愿意的话,你甚至可以把它放在你的桌面上。
https://askubuntu.com/questions/1165945
复制相似问题