写一个cshell脚本, 输入一个后缀名是.sv或.svh的文件路径, 判断如果该文件所在的目录名称为ip_csi_test, 就输出"ip_csi_test_suite/文件前缀名", 如果该文件所在的目录名称为ip_csi_test_new, 就输出"ip_csi_test_suite_new/文件前缀名"
时间: 2023-04-09 21:03:20 浏览: 63
可以回答这个问题。以下是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”。
写一个csh脚本, 判断输入的路径名后缀是否是.sv或.svh
可以的,以下是一个简单的csh脚本示例:
```
#!/bin/csh
set filename = $1
if ( $filename =~ "*.sv" || $filename =~ "*.svh" ) then
echo "输入的路径名后缀是.sv或.svh"
else
echo "输入的路径名后缀不是.sv或.svh"
endif
```
你可以将这个脚本保存为一个文件,比如说 `check_suffix.csh`,然后在终端中运行:
```
./check_suffix.csh /path/to/file.sv
```
如果输入的路径名后缀是 `.sv` 或 `.svh`,则会输出 `"输入的路径名后缀是.sv或.svh"`,否则会输出 `"输入的路径名后缀不是.sv或.svh"`。