0

我在一个目录中有几个头文件,格式为 imageN.hd,其中 N 是某个整数。这些头文件中只有一个包含文本“trans”。我要做的是使用 csh 查找包含此表达式的图像(为此我需要使用 csh - 尽管我可以调用 sed 或 perl 单行)并显示相应的图像。 show iN

这是我最初的简单方法,它不起作用。

#find number of header files in directory
set n_images = `ls | grep 'image[0-9]*.hd' | wc -l`
foreach N(`seq 1 n_images`)
if (`more image$N{.hd} | grep -i 'trans`) then
show i$N
sc c image   #this command uses an alias to set the displayed image as current within the script
endif
end

我不确定上述命令有什么问题,但它没有返回正确的图像编号。

另外我确信有一个更优雅的单行 perl 或 sed 解决方案,但我对两者都不太熟悉

4

1 回答 1

2
show `grep -l trans image[0-9]*.hd | sed 's/image/i/`
于 2013-02-15T15:06:36.377 回答