写一个cshell脚本, 输入一个后缀名是.sv或.svh的文件路径, 判断如果该文件所在的目录名称为ip_csi_test, 就输出"ip_csi_test_suite/文件前缀名", 如果该文件所在的目录名称为ip_csi_test_new, 就输出"ip_csi_test_suite_new/文件前缀名"
时间: 2023-04-09 13:03:20 浏览: 232
可以回答这个问题。以下是cshell脚本的代码:
```
#!/bin/csh
set file_path = $1
set dir_name = `dirname $file_path`
set file_name = `basename $file_path .sv`
set file_ext = `basename $file_path .svh`
if ($dir_name == "ip_csi_test") then
echo "ip_csi_test_suite/$file_name"
else if ($dir_name == "ip_csi_test_new") then
echo "ip_csi_test_suite_new/$file_name"
else
echo "Unknown directory name"
endif
```
这个脚本首先获取输入的文件路径,然后使用dirname和basename命令分别获取文件所在的目录名称和文件名(不包括后缀名)。接着,根据目录名称判断输出的前缀名,最后输出完整的路径。
相关问题
写一个cshell脚本, 输入一个后缀名是.sv或.svh的文件路径
我可以回答这个问题。以下是一个示例cshell脚本,可以输入一个后缀名是.sv或.svh的文件路径:
```
#!/bin/csh
set file_path = $1
if ( `echo $file_path | grep -E '\.(sv|svh)$'` ) then
echo "File path is valid"
else
echo "File path is not valid"
endif
```
这个脚本首先获取输入的文件路径,然后使用正则表达式检查文件路径是否以.sv或.svh结尾。如果是,输出“File path is valid”,否则输出“File path is not valid”。
写一个cshell脚本, 输入一个后缀名是.sv或.svh的文件路径, 如果该文件所在的目录名叫ip_csi_test, 就输出"ip_csi_test_suite/不包含后缀名的文件名"
好的,这个问题可以回答。以下是cshell脚本的代码:
```
#!/bin/csh
set file_path = $1
set dir_name = `dirname $file_path`
set base_name = `basename $file_path .sv`
set ext_name = `basename $file_path .svh`
if ($dir_name == "ip_csi_test") then
echo "ip_csi_test_suite/$base_name"
else if ($dir_name == "ip_csi_test") then
echo "ip_csi_test_suite/$ext_name"
else
echo "该文件不在ip_csi_test目录下"
endif
```
这个脚本会先获取输入的文件路径,然后提取出文件所在的目录名、文件名(不包含后缀名)和后缀名。如果目录名是ip_csi_test,就输出"ip_csi_test_suite/不包含后缀名的文件名",否则输出"该文件不在ip_csi_test目录下"。
阅读全文