Linux 如何解析bash输出中的链接
假设我们在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
$ 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次,会有很大的不同。