我正在尝试创建一个shell脚本来回显文件的内容,我不知道在哪里找到它。
我认为它会是这样的:
$echo | ls /* | grep file.xml
我的文件可能在某个未知的子文件夹中,所以我试图用grep搜索它的路径。
非常感谢任何有关正确语法的帮助!
答案 0 :(得分:5)
您可以使用find
:
find / -name file.xml -exec cat '{}' ';'
/
说要查看/
及其子目录; -name file.xml
说找到名为file.xml
的文件;并且-exec cat '{}' ';'
表示要为每个打印出内容的文件运行,例如cat /path/to/file.xml
。
答案 1 :(得分:0)
我想你想抓住这个文件。请注意,如果有多个匹配项,它将打印所有文件。如果您没有足够的特权,您可能会收到需要过滤的权限错误。要避免,只运行您拥有权限的目录,使用升级权限执行或使用grep删除它们。尝试:
cat `find / -name file.xml`
答案 2 :(得分:0)
试试这个:
grep -lr "alice in wonderland" *
这将列出包含文本alice in wonderland
的所有文件。如果要显示每个内容,请执行以下操作:
grep -lr "alice in wonderland" *|while read filename; do
echo ---- Contents of: "$filename"
cat "$filename"
done