移动文件 - unix

时间:2017-03-18 21:24:56

标签: shell unix

例如,考虑一下这个数据集:

番茄1千克

橙色2kg

水果数量

我希望我的数据集为:

水果数量

番茄1千克

橙色2kg

我如何使用命令?

3 个答案:

答案 0 :(得分:1)

您可以使用sed及其保留空间来实现:

sed -n -e '${p;x;s/^\n//;p}' -e 'H' yourfile
  • 在最后一行($)上,打印然后打印保留空间的内容(即除最后一行之外的所有行)
    • s命令是必需的,因为H命令会向保留空间添加换行符,因此保留空间以空换行符开头
  • 附加到暂停空间(H

答案 1 :(得分:0)

如果您正在阅读某个文件,则可以执行您想要的操作:

(tail -1 myfile && head -n -1 myfile) > newfile

将它放在括号中以合并两个进程的输出。

如果你不是从文件中读取,那就更难了。你可能不得不这样做 将其中的一部分发送到临时文件。

答案 2 :(得分:0)

当其他行的顺序是随机的时,您可以使用

sed -e 's/\([a-z]\),\([a-z]\)/\1\2/g'