我在目录中有几个头文件,格式为imageN.hd,其中N是某个整数。这些头文件中只有一个包含文本“trans”。我想要做的是使用csh查找哪个图像包含此表达式(我需要使用csh用于此目的 - 尽管我可以调用sed或perl one-liners)并显示相应的图像。
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解决方案,但我对两者都不太熟悉
答案 0 :(得分:2)
show `grep -l trans image[0-9]*.hd | sed 's/image/i/`