我创建了一个名为 histcopy.txt 的文件,其中包含命令历史记录 ( history > histcopy.txt
)。它看起来有点像这样:
1. l
2. ls
3. cat necopy.txt
4. netstat
5. cd | ls-l ; grep -i "3" histcopy.txt | echo
Run Code Online (Sandbox Code Playgroud)
我想打印出每个唯一的命令,这是我到目前为止运行的命令:
awk '{print $2}' histcopy.txt | sort|uniq`
Run Code Online (Sandbox Code Playgroud)
其结果是:
l
ls
cat
netstat
cd
Run Code Online (Sandbox Code Playgroud)
但在最后一行 ( 5. cd | ls-l ; grep -i "3" histcopy.txt | echo
) 中,有许多命令被它忽略,只采用第一个cd
。如何重写当前命令以便也提取它们?这样,从第 5 行开始,它还会提取:
ls-l
grep -i "3: histcopy.txt
echo
将它们作为输出列表中的单独项目。