如何使用查找和回显来附加文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用查找和回显来附加文件相关的知识,希望对你有一定的参考价值。
嗨,到目前为止,这是我的文件系统,我想实现的是在名称中带有1的每个文本文件中附加“ Hello world”。
root @ s11:〜/ Test#ls -R
.:A B
./ A:A1 A2
./ B:B1 B2
到目前为止,我所做的是
root @ s11:〜/ Test#查找。 -iname“ * 1” -exec echo“ Hello World” >> {} ;
root @ s11:〜/ Test#查找。 -iname“ * 1” -exec文件{} ;
./ A / A1:空文件
./ B / B1:空文件
我的机器是Solaris 11.3
答案
为什么不那么容易。尝试以下方法:
find / -name '*1' | while read line; do
echo "Hello World" >> $line
done
如果适合您,请投票
另一答案
您传递给-exec
的是一个要执行的程序和各个参数。特别是,您不要传递shell命令。
但是,>>
是一个shell构造,因此,如果要使用它,则需要运行一个shell:
find . -iname '*1*' -exec sh -c 'echo "Hello World" >> {}' ;
这里,传递给-exec
的各个参数是sh
,-c
,echo "Hello World" >> {}
,允许您运行Shell命令。
还请注意,我做了-ianme '*1*'
,因为您的问题是“名称中有1
”,而不是“以1
结尾”。
以上是关于如何使用查找和回显来附加文件的主要内容,如果未能解决你的问题,请参考以下文章
java 简单的代码片段,展示如何将javaagent附加到运行JVM进程