在一个文件夹,我有一个文件名中的几个参数,例如(只是一个参数)许多文件file_a1.0.txt,file_a1.2.txt等等.
这些都是由C++代码生成,我需要把生成的最后一个(时间).我不知道先验代码终止时该参数的值是什么.之后我需要复制最后一个文件的第二行.
要复制任何文件的第二行,我知道此sed命令有效:
sed -n 2p filename
Run Code Online (Sandbox Code Playgroud)
我也知道如何找到最后生成的文件:
ls -rtl file_a*.txt | tail -1
Run Code Online (Sandbox Code Playgroud)
如何结合这两个操作?当然可以将第二个操作传递给该sed操作,但我不知道如何将来自管道的文件名作为该sed命令的输入.
sat*_*sat 11
你可以用这个,
ls -rt1 file_a*.txt | tail -1 | xargs sed -n '2p'
Run Code Online (Sandbox Code Playgroud)
(要么)
sed -n '2p' `ls -rt1 file_a*.txt | tail -1`
sed -n '2p' $(ls -rt1 file_a*.txt | tail -1)
Run Code Online (Sandbox Code Playgroud)