我对shell脚本非常陌生,因此我现在对它不太了解。 我有一个应用程序,它创建一个半名未知的java文件,现在我尝试写一个脚本,它需要这个名字。
文件的已知名称是/target/plugin-<dyn>.jar
,<dyn>
部分是未知的,可能几乎任何东西(顺便说一下,它主要是一个版本号与可变文本部分)。
现在我想将plugin-<dyn>
(不含.jar
)保存在变量中供以后使用。我在网上看了很多,但我找不到解决方案。Shell脚本 - 获取动态生成文件的名称
-1
A
回答
1
如果您需要获取没有扩展名的文件名.jar
。你可以参考我下面的bash脚本:
# for loop all files in target directory that matched plugin-*.jar
for f in target/plugin-*.jar
do
# print file name without extension .jar
echo ${f%.*}
done
更新:
# for loop all files in target directory that matched plugin-*.jar
for f in target/plugin-*.jar
do
# print file name without extension .jar
filename="${f##*/}" # get plugin-*.jar
echo ${filename%.*} # print plugin-* without jar
done
0
试试这个
filename="/target/plugin-<dyn>.jar"
echo ${filename} | awk -F [/.] '{print $(NF - 1)}'
echo ${filename} | sed 's/.*\/\([^/]*\)\.jar/\1/'
但如果<dyn>
有一个斜线,逗号或点。它可能不起作用
+0
这部分将会有点在我的情况下 – Sumafu
+0
@Sumafu sed工作正常。 –
相关问题
- 1. 获取父shell脚本的名称
- 2. linux shell获取文件的名称
- 3. 从Shell文件中生成Python脚本
- 4. 如何获取动态生成的输入类型文件,名称为
- 5. 从窗体中获取动态生成的名称到$ _POST
- 6. 动态生成React组件名称
- 7. 使用jquery获取动态生成名称字段的值
- 8. 动态生成咕噜任务名称?
- 9. 在Shell脚本中移动生成的文件
- 10. 给动态生成的文本框唯一的名称
- 11. 从Hibernate本机查询的结果中获取动态生成的列名称
- 12. Shell脚本:在脚本中生成输出文件名然后写入它
- 13. 如何在shell脚本中获取文件的扩展名
- 14. 从shell脚本中的独特文件生成不同的文件名
- 15. 获取Linux shell的名称
- 16. 如何获取shell脚本的所有进程名称?
- 17. 动态获取脚本帮助示例中的powershell脚本名称
- 18. 获取服务器名称+文件夹名称(无脚本名称)
- 19. 动态获取文件名
- 20. Shell脚本来更改eml文件中的收件人名称
- 21. shell脚本从字符串获取文件名
- 22. 使用shell脚本从passwd文件获取用户名
- 23. 为swiftmailer附件动态获取名称
- 24. .NET按名称动态获取控件
- 25. 在Postman中生成动态名称文本字段
- 26. Shell脚本:从子网掩码获取eth名称
- 27. 在shell脚本中获取Canonical时区名称
- 28. 如果文件名(只是名称)比较shell脚本
- 29. PHP获取动态生成文件的文件内容
- 30. 如何将文件从1个文件夹复制到另一个文件夹名称是使用shell脚本动态生成的文件
需要添加'shopt -s nullglob'作为没有匹配的情况。 –
这也返回路径'./target/',但我只需要文件名 – Sumafu
我找到了一个解决方案,首先用cd进入目录,之后我用cd回到父目录 – Sumafu