如何解决如何在 xargs 命令中回显文件的尾部
我试图将与模式匹配的文件内容附加到另一个文件,同时将文件内容包装在标识行中。我试图在一行中执行此操作,因为我想将其添加到 logrotate 中的 prerotate
钩子中。
这是我一直在摆弄的
root@KTCH0S3HY:/opt/teamcity/logs# ls /opt/teamcity/logs/catalina.*.log | xargs -I {} echo -e "-----START {}------\n`tail
"{}" 2>&1`\n------END {}------" | tee -a test.log
-----START /opt/teamcity/logs/catalina.2021-04-08.log------
tail: cannot open '/opt/teamcity/logs/catalina.2021-04-08.log' for reading: No such file or directory
------END /opt/teamcity/logs/catalina.2021-04-08.log------
-----START /opt/teamcity/logs/catalina.2021-04-09.log------
tail: cannot open '/opt/teamcity/logs/catalina.2021-04-09.log' for reading: No such file or directory
------END /opt/teamcity/logs/catalina.2021-04-09.log------
-----START /opt/teamcity/logs/catalina.2021-04-10.log------
tail: cannot open '/opt/teamcity/logs/catalina.2021-04-10.log' for reading: No such file or directory
------END /opt/teamcity/logs/catalina.2021-04-10.log------
-----START /opt/teamcity/logs/catalina.2021-04-11.log------
tail: cannot open '/opt/teamcity/logs/catalina.2021-04-11.log' for reading: No such file or directory
------END /opt/teamcity/logs/catalina.2021-04-11.log------
-----START /opt/teamcity/logs/catalina.2021-04-12.log------
tail: cannot open '/opt/teamcity/logs/catalina.2021-04-12.log' for reading: No such file or directory
------END /opt/teamcity/logs/catalina.2021-04-12.log------
这是相同的命令,除了我拖尾完整路径而不是从 ls 命令的输出构建路径
root@KTCH0S3HY:/opt/teamcity/logs# ls /opt/teamcity/logs/catalina.*.log | xargs -I {} echo -e "-----START {}------\n`tail "/
opt/teamcity/logs/catalina.2021-04-12.log" 2>&1`\n------END {}------" | tee -a test.log
-----START /opt/teamcity/logs/catalina.2021-04-08.log------
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)
12-Apr-2021 19:03:52.962 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8111"]
12-Apr-2021 19:03:52.962 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8111"]
------END /opt/teamcity/logs/catalina.2021-04-08.log------
-----START /opt/teamcity/logs/catalina.2021-04-09.log------
所以该文件确实存在,但我无法遍历所有文件并将其拖尾,如第一个输出所示。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)