小编slm*_*slm的帖子

bash中的分号暂停

为什么这个shell脚本:

$ curl -d "asd" 0.0.0.0/abc & echo "abc";
Run Code Online (Sandbox Code Playgroud)

导致我不得不enter在它再次进入外壳之前按下。这curl只是一个简单的 web 服务器的 post 请求,它返回abc.

但是,此脚本不需要我在再次进入 shell 之前按 Enter

$ echo "abc" & echo "abc"
Run Code Online (Sandbox Code Playgroud)

linux shell bash

2
推荐指数
1
解决办法
167
查看次数

计算子串出现的次数并保持最高分

我有一个字符串列表,如:

StringA  45
StrinB  98 
StringA  35
StringA  83
StrinB  78
StringC  65
StrinB  98
Run Code Online (Sandbox Code Playgroud)

我想过滤掉重复项,打印出现的次数(子字符串的出现次数可以不同,但​​在一侧由 ^(字符串开头)分隔,在另一侧由 \tab 分隔)加上仅打印最高数字发现与字符串相关联,即我希望输出类似于(字符串、出现次数和分数也可以以不同的顺序出现):

3 83 StringA
3 98 StrinB
1 65 StringC
Run Code Online (Sandbox Code Playgroud)

我明白,我可以使用的组合sort,并uniq以同样的事件并删除重复进行排序,但这并不占不同的“得分”。我想知道如何在忽略分数的同时进行排序,然后在跟踪最高分数的同时过滤掉重复项。

linux scripting sed sort uniq

2
推荐指数
1
解决办法
261
查看次数

警告:在库中找不到宏“AM_GLIB_GNU_GETTEXT”

我正在尝试通过 git安装soundconverter。这就是我在终端中所做的:

$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get install git
$ git clone https://github.com/kassoulet/soundconverter.git
$ cd soundconverter 
$ ./autogen.sh
Run Code Online (Sandbox Code Playgroud)

这是运行的输出 /home/USERNAME/soundconverter/autogen.sh

*** WARNING: I am going to run 'configure' with no arguments.
*** If you wish to pass any to it, please specify them on the
*** './autogen.sh' command line.

configure.ac:22: warning: macro 'AM_GLIB_GNU_GETTEXT' not found in library
aclocal: installing 'm4/intltool.m4' from '/usr/share/aclocal/intltool.m4'
aclocal: installing 'm4/nls.m4' from '/usr/share/aclocal/nls.m4'
./autogen.sh: 27: ./autogen.sh: glib-gettextize: not …
Run Code Online (Sandbox Code Playgroud)

compiling git audio software-installation

2
推荐指数
1
解决办法
8080
查看次数

内核调度程序如何知道如何抢占进程?

据我了解,内核不是一个进程,而是一组可以从另一个进程的运行时调用的处理程序(或者内核本身通过计时器或类似的东西?)

如果程序遇到一些需要长时间同步处理才能再次开始运行的异常处理程序(例如,遇到需要读取磁盘的页面错误),内核如何识别应该切换上下文?为了实现这一点,似乎需要运行另一个进程?

内核是否会通过间歇性检查处于此状态的进程来生成处理此问题的进程?调用长时间运行的同步处理程序的进程是否让内核知道它应该切换上下文直到处理程序完成(例如磁盘读取完成)?

process scheduling kernel interrupt linux-kernel

2
推荐指数
1
解决办法
1263
查看次数

ssh 如何处理本地网络上具有相同用户名的 2 台计算机?

例如,如果想要访问位于路由器后面的本地网络上的机器上的帐户 bob,他们只需键入:

$ ssh -p xx bob@example.com`
Run Code Online (Sandbox Code Playgroud)

但是,如何ssh处理本地网络上两台机器具有相同用户名的可能性?是否有标志可以区分机器 A 上的用户 bob 与机器 B 上的不同用户 bob,还是会ssh引发错误?

networking ssh lan

2
推荐指数
1
解决办法
2725
查看次数

Grep 和正则表达式,为什么下面只返回特定部分?

为什么在下面:

echo this is a line. | grep -o -E "[a-z]+\."
Run Code Online (Sandbox Code Playgroud)

结果是line.又不是this is a line.

正则表达式没有字边界或任何其他限制。

grep regular-expression

1
推荐指数
1
解决办法
96
查看次数

在通配符输入上写入新文件名的方法?

我在参与的科学实习中对 Inix 终端有一些经验,主要使用一些实用程序,例如grep, awksed但是我一直试图弄清楚一件事真的会让我更有效率随着数字运算我必须做。

我有一个脚本run.awk可以对大量的大量文本文件执行一些操作。因为它会获取文件chloride.out,从中提取数据并写入chloride.cm

无论如何我可以让这个脚本根据shell中的初始通配符短语接收*.out和写入*.cm文件吗?

我为处理大量数据而编写的大量脚本,我不得不进行一百多次迭代,这很烦人。

理想情况下,我想知道是否有一种方法可以通过 shell 为我的所有脚本执行此操作。如果它不能在 shell 或等效程序中自动化,我能不能awk以与我描述的类似的方式自动化我的脚本?

shell awk filenames wildcards

1
推荐指数
1
解决办法
3270
查看次数

由连字符连接的单词的文本处理

我有我处理的文本文件 (*.txt),我想找到由连字符连接的单词,例如“药物相关”或“药物相关”、“药物相关”。

我需要您的帮助将第一个转换为“与毒品有关”,而将第二个转换为“与毒品有关”。在一个文件中,我可以有很多这样的词,有一次它是“关联的”、“链接的”、“相关的”,并且可以有其他术语。

text-processing

1
推荐指数
1
解决办法
146
查看次数

Vim - 状态行和链接

鉴于这种情况:

cd ~/temp
ln -s /var/lib/alsa alsa
cd alsa
pwd -> /home/<username>/temp/alsa
Run Code Online (Sandbox Code Playgroud)

但是如果我在 的目录输出中打开一些文件pwdvim状态行会给我:

/var/lib/alsa/asound.state
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它显示pwd结果,而不是点击链接?

我正在使用:

set statusline=%F%=%m\ %y\ \%r\ %1*\ \%l\:\%c\ \%2*\ \ \%p%%\ \ 
Run Code Online (Sandbox Code Playgroud)

linux vim

1
推荐指数
1
解决办法
366
查看次数

为什么我的 vim 状态行显示“Obtaining ../”?

在我的 vim 状态行的右侧,它显示“获取 ../”并以黄色突出显示。为什么会这样说?

:set 的结果是:

:set
--- Options ---
  cpoptions=BceFs     history=1000        incsearch         nomodeline            pastetoggle=<F2>    ruler               shiftwidth=4        tabstop=4           ttymouse=xterm2
  helplang=en         ignorecase          laststatus=2        number              report=10000        scroll=30           smartcase           ttyfast
  backspace=indent,eol,start
  fileencoding=utf-8
  fileencodings=ucs-bom,utf-8,default,latin1
  formatprg=astyle -A2T4pDU
  printoptions=paper:letter
  runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim73,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
  statusline=%f %h%m%r%=%9*Obtaining ../
  suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
Run Code Online (Sandbox Code Playgroud)

vim notifications text-processing

1
推荐指数
1
解决办法
386
查看次数