2014-10-29 120 views
1

我有一个文本列来保留一些降价。直接从命令行编辑文本

我宁可不建立一个web界面来编辑这一栏的条目。

有没有办法从命令行启动文本编辑器进行编辑?

或者也许有一种方法可以轻松地将纯文本文件转储到特定行的此列中吗?

将是很好能够火起来VIM和编辑,而不建立一个接口的开销一些基本的文本(不觉得需要?)

+0

什么命令行?我不认为铁轨有一个命令行。 – jjanes 2014-10-29 16:05:32

+0

我发现精英主义。关于Rails没有提及任何内容。我的问题是公平的。 Bash shell命令行或者任何shell。 – Dolbery 2014-10-29 22:31:02

+0

我太精英了,我读了你的标签。这是'rails-postgresql'。 – jjanes 2014-10-30 15:35:25

回答

0

运行\e应启动默认的文本编辑器。

+0

您可以给出一个选择行并在文本编辑器中为该行编辑特定列的示例吗? – Dolbery 2014-10-29 10:20:29

0

你可以做这样的事情示例Perl代码:

use strict; 
use warnings; 
use File::Slurp; 
use File::Temp; 
require DBI; 
$|=1; 

my $dbh=DBI->connect('dbi:Pg:'); $dbh->{RaiseError}=1; 

my ($val)=$dbh->selectrow_array('select foo from bar where id=?', undef, $ARGV[0]) 
    or die "No row for $ARGV[0]"; 
my ($fh, $filename) = File::Temp::tempfile(); 
binmode $fh; 
print $fh $val; 
close $fh or die $!; 
system "vi $filename" and die $?; 
$val=read_file($filename); 

$dbh->do('update bar set foo = $2 where id=$1',undef,$ARGV[0],$val) 
    or die "Row not updated";