我收到以下错误
文件模式指定错误:(错误"未知rx形式`group-n'")
当我尝试在emacs中编辑.lua文件时.我使用GNU Emacs 23.3.1,我的.emacs文件中有以下内容:
(autoload 'lua-mode "lua-mode" "Lua editing mode." t)
(add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode))
(add-to-list 'interpreter-mode-alist '("lua" . lua-mode))
Run Code Online (Sandbox Code Playgroud)
我lua-mode从http://immerrr.github.com/lua-mode/安装.我试图使用该--debug-init选项运行emacs ,但它没有进入调试器,而是打开.lua文件text-mode而不是lua-mode..
(另请参阅Emacs lua-mode问题:( void-function interactively-called-p))
我有一组带有给定后缀的文件.例如,我有一组带后缀的pdf文件.pdf.我想使用子字符串扩展获取没有后缀的文件的名称.
对于我可以使用的单个文件:
file="test.pdf"
echo ${file:0 -4}
Run Code Online (Sandbox Code Playgroud)
为了对所有文件执行此操作,我现在尝试:
files=( $(ls *.pdf) )
ff=( "${files[@]:0: -4}" )
echo ${ff[@]}
Run Code Online (Sandbox Code Playgroud)
我现在得到一个错误说substring expression < 0...
(我想避免使用for循环)
我该如何打破tail -fbash?由于这个问题与这个问题有关
我尝试了以下方法:
#! /bin/bash
tvar="testing"
(set -o pipefail && tail -f <<< "$tvar" | awk '{print; exit} END{ exit 1}' )
Run Code Online (Sandbox Code Playgroud)
但是脚本仍然挂在 tail -f
当在occur正则表达式上运行时,框架分成两个窗口,occur缓冲区如下所示。但是,键盘焦点仍在原始缓冲区中。如何以编程方式更改此行为,使occur缓冲区成为当前缓冲区?我试过这个:
(defun test-occur ()
(interactive)
(occur "test")
(switch-to-buffer "*Occur*"))
Run Code Online (Sandbox Code Playgroud)
但它不起作用..(即:现在occur缓冲区同时显示在顶部和底部窗口中)
我有一个看起来像这样的文件:
2360 111037877 111105745 111161458
505 111128359 111026865 111006164
375 117170057 0 0
247 117086016 0 0
613 117030996 117010050 117029287
Run Code Online (Sandbox Code Playgroud)
我想将第3列中的所有值更改为零,以便文件如下所示:
2360 111037877 0 111161458
505 111128359 0 111006164
375 117170057 0 0
247 117086016 0 0
613 117030996 0 117029287
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我知道这是一个非常基本的问题,但我不能用awk来做.我试图做这样的事情:
awk '{$3 = 0}' old file > new file
Run Code Online (Sandbox Code Playgroud)
和
awk '$3 == "*" { $3=0}' old file > new file
Run Code Online (Sandbox Code Playgroud) 我想在 bash 中打开一个文件描述符,稍后从 .bashrc 中输出到该文件描述符awk。
考虑以下bash脚本:
#! /bin/bash
exec 6>&1
awk 'BEGIN{print "FD1" >/dev/fd/1 ; print "FD6" >/dev/fd/6 }'
exec 6>&-
Run Code Online (Sandbox Code Playgroud)
问题是上面根本没有输出任何内容。我使用 Gnu Awk。
考虑:
use File::Spec qw(catfile);
use File::Copy qw(copy);
catfile("a","b");
copy("a","b");
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
Undefined subroutine &main::catfile called
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用 use File::Spec::Functions,但那将导入所有函数File::Spec,这不是我想要的.
我正在尝试将本地git存储库传输到Web服务器.我遵循这里的方法: Git:将现有存储库从PC移动到服务器,从服务器克隆
首先,我在本地计算机上初始化了一个空存储库,并添加了两个文件并进行了提交.然后在服务器上我创建了一个文件夹/www/git,并更改为该目录并完成了
git init --shared --bare
Run Code Online (Sandbox Code Playgroud)
然后在我运行的本地机器上
git remote add server user@server.com:/www/git
Run Code Online (Sandbox Code Playgroud)
然后我做了
git push server master
Run Code Online (Sandbox Code Playgroud)
这给出了如下输出:
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 2.13 KiB, done.
Total 4 (delta 0), reused 0 (delta 0)
To user@server.com:/www/git
* [new branch] master -> master
Run Code Online (Sandbox Code Playgroud)
但是在服务器上,我看不到我在本地计算机上添加的两个文件中的任何一个.如果我这样做ls,/www/git我得到:
HEAD branches config description hooks info objects refs
Run Code Online (Sandbox Code Playgroud)
但这些文件和目录中没有一个是我从本地机器推出的文件.
我正在尝试使用切片初始化哈希:
use warnings;
use strict;
use Data::Dump qw(dump);
my %h;
my $a=['a','b'];
@h{@$a}=(1)x@$a;
dump(%h);
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如果我尝试做一个子哈希,例如 %h{test}
@h{test}{@$a}=(1)x@$a;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Scalar value @h{test} better written as $h{test} at ./p.pl line 14.
syntax error at ./p.pl line 14, near "}{"
Execution of ./p.pl aborted due to compilation errors.
Run Code Online (Sandbox Code Playgroud) 我想等待两个进程(或更多)完成,或者一个计时器倒计时。计时器倒计时将在终端窗口中输出。例如:
use warnings;
use strict;
use feature qw(say);
my $pid1 = fork();
if ( $pid1 == 0 ) {
runTask1();
exit 0;
}
my $pid2 = fork();
if ( $pid2 == 0 ) {
runTask2();
exit 0;
}
my $timer = startTimer();
say "Waiting for child processes..";
my $counter = 20;
my $i = 0;
while (1) {
my $pid = wait;
last if ( $pid == -1 );
if ( $pid == $timer ) {
$counter--;
say $counter;
$timer …Run Code Online (Sandbox Code Playgroud)