我想从我最近的命令历史记录中复制命令到一个文件,但历史是这样的:是否有简洁的方式让awk打印除记录的第一个字段之外的所有内容?
568 find . -name "*.txt" -mtime -1 -print -exec awk '$9 != "" && NR <= 10' {} \;
569 find . -name "*.txt" -mtime -1 -print -exec awk '$9 != "" && n < 10 {print; n++}' {} \;
570 history 10
我想在左边剥去数字。有没有一个简短的方法来做到这一点在awk中没有明确使用$ 2 $ 3 $ 4等来输出除第一个字段之外的所有内容?
当序列号在其中的位数不同时这是否正常工作? – paxdiablo 2009-12-22 23:40:36
我相信这些数字是固定宽度的,但使用这种技术是脆弱的,因为它依赖于可能不可靠的事情。 – 2009-12-23 00:45:04
其实我纠正了。刚刚测试过,它们的宽度确实是固定的。这可能比任何正则表达式解决方案都快,所以+1(即使速度在这里并不重要)。 – paxdiablo 2009-12-23 11:06:01