Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在脚本输出中搜索关键字_Bash - Fatal编程技术网

Bash 在脚本输出中搜索关键字

Bash 在脚本输出中搜索关键字,bash,Bash,我试图写一个小脚本来打印终端所说的脚本正在运行的内容 osascript -e 'POSIX path of (path to frontmost application)' 到目前为止,这将打印类似 /Applications/Utilities/Terminal.app/ 我想在字符串中搜索关键字列表,例如“Terminal.app”“iTerm.app”等。 或者执行诸如排除“/”、“应用程序”和“实用程序”之类的操作来过滤掉它 我找到的所有搜索字符串的方法似乎都需要在变量中使用它,而

我试图写一个小脚本来打印终端所说的脚本正在运行的内容

osascript -e 'POSIX path of (path to frontmost application)'
到目前为止,这将打印类似

/Applications/Utilities/Terminal.app/
我想在字符串中搜索关键字列表,例如“Terminal.app”“iTerm.app”等。 或者执行诸如排除“/”、“应用程序”和“实用程序”之类的操作来过滤掉它

我找到的所有搜索字符串的方法似乎都需要在变量中使用它,而我不知道如何将它导入变量

试试这个:

osascript -e 'POSIX path of (path to frontmost application)' | cut -d"/" -f4

因为您处理的是文件路径,所以最好使用文件实用程序-:


是的,要回答您关于变量的问题-
VAR=$(osa…)
@MichaelKrelin hacker比我的解决方案更好更简单;)对于任何不是三层深度的路径都失败。还有可能。嵌入
$()
的优点是,可以为
basename
指定第二个参数。在我对@niculare答案的评论中,我的本意是
.app/
,但不知何故,我被
.app
部分吃掉了。使用xargs当然是可能的,但这是以牺牲美为代价的;-)谢谢,很好用。谢谢@Michael Krelin-hacker,你的方法也很有效。
osascript -e 'POSIX path of (path to frontmost application)' | xargs basename