我需要从头文件中提取一些信息,并且需要从如下字符串中获取站点名称:
0008 0080 LO Institution Name Site Name Here
Run Code Online (Sandbox Code Playgroud)
问题是网站名称也包含空格。我想到的唯一可行的方法是将行保存为字符串,然后在一定数量的字符后将站点名称作为字符串获取,如下所示:
回声 ${行:50}
但我想要更优雅的东西。
我刚刚注意到它还删除了Institution Name和之间的多个空格Site Name。
我想使用包含数字的字符串作为脚本的输入。这个列表可能很长,可能包含连续的数字范围,所以我考虑做ls样式列表规范。但是,如何在脚本中扩展此列表?更具体地说,我想运行:
myscript node-[2,5-7,10-13]
Run Code Online (Sandbox Code Playgroud)
并且能够在我的脚本中循环遍历 node-2、node-5、node-6 等。
更新:似乎我需要对列表使用大括号和点。我可以将字符串转换为该字符串,但是如何让脚本将其视为列表呢?我可以做什么:
nodelist=`echo $1 | sed 's/\[/\{/' | sed 's/\]/\}/' | sed 's/-/../'`
Run Code Online (Sandbox Code Playgroud)
但对于输入node[1-3],例如我得到:
>echo $nodelist
node{1..3}
Run Code Online (Sandbox Code Playgroud)