Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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
Linux 如何解析bash输出中的链接_Linux_Bash_Terminal Emulator - Fatal编程技术网

Linux 如何解析bash输出中的链接

Linux 如何解析bash输出中的链接,linux,bash,terminal-emulator,Linux,Bash,Terminal Emulator,假设我们在bash控制台中有以下输出: $ findgrep RAILS_ENV ./script/munin_stats:7:RAILS_ENV = ENV['RAILS_ENV'] || "development" ./script/munin_stats:12: dbconfig = dbhash[RAILS_ENV] ./lib/tasks/juggernaut.rake:4: @r

假设我们在bash控制台中有以下输出:

$ findgrep RAILS_ENV                                   
./script/munin_stats:7:RAILS_ENV = ENV['RAILS_ENV'] || "development"
./script/munin_stats:12:    dbconfig = dbhash[RAILS_ENV]            
./lib/tasks/juggernaut.rake:4:    @rails_env = ENV["RAILS_ENV"] || "development"                             
./lib/tasks/cruise.rake:19:    ENV['RAILS_ENV'] = 'test'                                                     
./lib/tasks/populate.rake:15:      dumper = MysqlDumper.new(ActiveRecord::Base.configurations[RAILS_ENV])    
./lib/tasks/populate.rake:21:      dumper = MysqlDumper.new(ActiveRecord::Base.configurations[RAILS_ENV])    
./lib/tasks/populate.rake:29:      RAILS_ENV = "test"

如何在文件名(例如“/script/munin_stats:7”)上创建可单击的链接(例如Ctrl+click),该链接将在我最喜欢的编辑器中打开选定的文件?

可以做到这一点。

这更多地是终端仿真器(例如xterm或gnome终端)的功能,而不是bash。流行的终端仿真器(例如,
apt get install rxvt unicode
)在Perl中是可扩展的,因此应该可以编写一个urxvt过滤器来获取选择并基于选择执行编辑器


默认的“选择弹出”脚本(请参阅)已识别您何时选择了文件:编号模式,并提供将其转换为vi命令的选项,该命令将在右行打开文件。

如果您不介意使用GUI显示列表,您可以尝试zenity:

vi `findgrep RAILS_ENV * | cut -f 1 -d : |  zenity --list --column Files`

注意:如果您公开您(更喜欢)使用的终端仿真器,它可能会很有用。

在bash中您在哪里看到了“可点击链接”?@Laurence:大多数终端仿真器在控制台输出中通过web链接实现了类似的功能。在unix上也是这个问题。se:是的,这不是真正的解决方案:1。必须单击2。然后再次单击菜单选项3中的最后一个。切换回vi 4。在vi 5中进入命令模式。用鼠标中键粘贴6。按enter键,使6个步骤与原问题中要求的1个步骤相匹配。如果你每天这样做100次,会有很大的不同。