【发布时间】:2021-11-14 22:22:31
【问题描述】:
我正在编写一个 c-shell 脚本,其中我在两个字符串中 grepping 两个不同的目录。我想删除相同的目录名称。通过省略重复的目录,我只想要两者之间的唯一目录。我对如何做到这一点有点困惑。
在 sta_views 和 pnr_views 字符串中有一些常见的目录。如上所示,我使用 ls -l 命令对它们都进行了 grepped 存储。现在我想做的是“首先我们可以遍历 sta_view 并检查它是否存在于 pnr_view 列表中,如果不存在,则将它们放在单独的列表中,如果是,则不要做任何事情”希望这有助于理解你我的问题。谢谢!
请告诉我这样做的方法,
set pnr_views = `(ls -l pnr/rep/signoff_pnr/ | grep '^d' | awk '{print $9}'\n)`
set sta_views = `(ls -l sta/rep/ | grep '^d' | grep -v common | grep -v signoff.all.SAVEDESIGN | awk '{print $9}'\n)`
foreach i ($sta_view)
if [$i == $pnr_view] #just want to remove the list pnr_view from sta_view
then
echo ...
else
此处sta_views 包含pnr_views 中存在的目录。如何从sta_views 中删除pnr_views 目录?
【问题讨论】:
-
我对你想要做什么感到有点困惑。您是否正在寻求删除文件名的常见前缀?一个非常小的例子会有所帮助;它可以是虚构的数据。 (另外,为什么要标记
tcl?你真正想要什么语言的答案?) -
您好 sta_views 和 pnr_views 字符串中存在一些常见目录。如上所示,我使用 ls -l 命令对它们都进行了 grepped 存储。现在我想做的是“首先我们可以遍历 sta_view 并检查它是否存在于 pnr_view 列表中,如果不存在,则将它们放在单独的列表中,如果是,则不要做任何事情”希望这有助于理解你我的问题。谢谢!
标签: csh