【发布时间】:2017-04-29 12:28:53
【问题描述】:
首先,请原谅我对 Windows 批处理脚本(即使是基础知识)缺乏了解。
我想就一个可运行的 Unix 脚本寻求帮助。这是我的工作脚本。
#!/bin/bash
list=`cat view_tags`
for i in $list; do
cleartool lsview -l -prop -full $i | grep "Last accessed" >& /dev/null
if [ $? -eq 0 ]; then
echo -n $i
echo " " `cleartool lsview -reg ccase_win -l -prop -full $i | grep "Last accessed" | awk '{print $3}'`
else
echo $i cannot be found
fi
done
-
“查看标签”文件包含:
pompei.s1272.hwdig_b12.default dincsori.arisumf.s2637b_dig.default tags2 -
"cleartool lsview -l -prop -full $i | grep "Last访问"的输出:
Last accessed 2017-11-05T11:32:13+01:00 by UNIX:UID-111234.s1272@server1 Last accessed 2013-11-20T16:16:50+01:00 by UNIX:UID-124312.exrt@177.32.5.1 cleartool: Error: No matching entries found for view tag "tags2". -
"cleartool lsview -l -prop -full $i | grep "Last访问"的输出:| awk '{print $3}'
2017-11-05T11:32:13+01:00 2013-11-20T16:16:50+01:00 cleartool: Error: No matching entries found for view tag "tags2". tags2 cannot be found
基本上,它会执行命令, cleartool lsview -l -prop -full $i |在文件“view_tags”的每一行上 grep “上次访问”。
如果在输出中找到字符串“上次访问”,它将继续打印输出,但如果没有,它会说“未找到”。
我真的希望有人可以帮助我。非常感谢您。
【问题讨论】:
-
windows系统上可以使用cleartool lsview吗?
-
view_tags 包含哪些样本?如果不是所有东西都可用,就很难尝试和复制一些东西。请编辑问题并添加诸如 view_tags 之类的示例数据以及在最后访问的部分使用 echo 时的输出是什么样的
-
您好,是的,它是可用的。我们正在运行 Clearcase 版本 8.0.1.11:)
-
您是坚持使用 Windows 批处理等效项(这需要使用附加工具,等效于 bash 脚本中的二进制命令),还是可以接受 PowerShell 解决方案(实际上是考虑到您似乎希望通过 bash 脚本完成的工作,要简单得多)? (在我看来,您想从文件中获取文件列表,并打印每个文件的文件名和上次访问时间,对吗?)
标签: batch-file unix windows-scripting