UNIX\LINUX:如何将目录文本添加到文件中的每一行?
UNIX\LINUX:如何将目录文本添加到文件中的每一行 注意:我只是使用shell(LINUX REDHAT EPIC的CMD工具)没有其他 您可以看到,我有许多日志文件(.txt.gz),我可以通过以下方式打开所有日志文件:UNIX\LINUX:如何将目录文本添加到文件中的每一行?,linux,unix,csh,Linux,Unix,Csh,UNIX\LINUX:如何将目录文本添加到文件中的每一行 注意:我只是使用shell(LINUX REDHAT EPIC的CMD工具)没有其他 您可以看到,我有许多日志文件(.txt.gz),我可以通过以下方式打开所有日志文件: foreach i (./*/*dumpfiles.txt.gz_*) > foreach? zcat $i > foreach? grep "-e" $i > foreach? END 这意味着我要在所有这些文件夹中查找文件dumpfiles.tx
foreach i (./*/*dumpfiles.txt.gz_*)
> foreach? zcat $i
> foreach? grep "-e" $i
> foreach? END
这意味着我要在所有这些文件夹中查找文件dumpfiles.txt.gz_
输出结果如下所示:
0x4899252 move x -999
0x4899231 move y -0
0x4899222 find scribe
0x4899231 move x -999
等等
问题是我需要将目录设置为文件的每一行。。。
我可以通过命令pwd获取目录
我的问题是如何在文件的每一行添加目录名?
例如:
等等
我尝试使用$sed,但找不到解决方案…:(
谢谢…这里有一个小perl脚本,可以满足您的要求(输入是文件名): 如果希望它仅位于当前目录,则需要在“.”之后的
查找
中添加-maxdepth 1
标志
更新:
这也可以工作(没有脚本,只有一行shell):
这是什么shell?这不是sh语法。这是csh语法,可能是tcsh,因为continuation promptSirs,它只是一个使用unix cmd工具的命令…你有
zgrep
工具吗?它已经这样做了。zgrep something*/*/filename
哦,是的,先生,我刚才用过它,它会根据grep条件打印行…先生在打印grep正在打印的行之后或之前添加一个目录如何?。我必须使用类似管道“|”的东西吗?:(我尝试了pwd | zgrep”(word)“$I但不起作用…:(
(directory) (per line of all files)
machine01 0x4899252 move x -999
machine01 0x4899231 move y -0
machine09 0x4899222 find scribe
machine09 0x4899231 move x -999
$file = shift;
$path = `pwd`;
chomp($path);
open(TRY, "< $file");
while ($line = <TRY>) { print ($path . $line);}
close(TRY);
find . -exec scriptname {} \;
perl -pi -e 's/^/$ENV{PWD} /g'