0 bash
我在bash文件中有一个循环来向我显示目录中的所有文件,每个文件都是自己的变量.我需要获取该变量(文件名)并仅解析它的一部分.
例:
92378478234978ehbWHATIWANT#98712398712398723
现在,假设"ehb"和英镑符号永远不会改变,我怎样才能将WHATIWANT捕获到自己的变量中?
到目前为止,我有:
#!/bin/bash
for FILENAME in `dir -d *` ; do
done
Run Code Online (Sandbox Code Playgroud)
您可以sed用来编辑您不想要的部分.
want=$(echo "$FILENAME" | sed -e 's/.*ehb\(.*\)#.*/\1/')
Run Code Online (Sandbox Code Playgroud)
或者你可以使用Bash的参数扩展去除尾部和头部.
want=${FILENAME%#*}; want=${want#*ehb}
Run Code Online (Sandbox Code Playgroud)