小编Pro*_*iat的帖子

我将如何在这个 while 循环中使用 GNU Parallel?

所以我有一个while循环:

cat live_hosts | while read host; do \
    sortstuff.sh -a "$host" > sortedstuff-"$host"; done
Run Code Online (Sandbox Code Playgroud)

但这可能需要很长时间。我将如何在这个 while 循环中使用 GNU Parallel?

shell-script files gnu-parallel

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

禁用 gnome-keyring-daemon

我尝试过的方法:

当我登录时,这些都不会阻止此过程的启动:

me       1865  0.0  0.0 281816  7104 ?        Sl   10:50   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
Run Code Online (Sandbox Code Playgroud)

这会阻止我的 Thunderbird 正确解密电子邮件。当我终止进程时,我可以按预期解密电子邮件,但我不想每次登录时都这样做。

OS Information: Debian GNU/Linux 8.3 (jessie)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗?

debian gnome-keyring thunderbird gpg enigmail

9
推荐指数
2
解决办法
2万
查看次数

查找目录中每个日期的最大文件

我有一个类似于以下的目录:

-rw-r--r-- 1 root root 223K Apr 28 14:25 2015.04.28_14.25
-rw-r--r-- 1 root root 253K Apr 28 14:55 2015.04.28_14.55
-rw-r--r-- 1 root root 276K Apr 28 15:25 2015.04.28_15.25
-rw-r--r-- 1 root root 254K Apr 28 15:55 2015.04.28_15.55
-rw-r--r-- 1 root root 122K Apr 29 09:08 2015.04.29_09.08
-rw-r--r-- 1 root root 127K Apr 29 09:38 2015.04.29_09.38
-rw-r--r-- 1 root root  67K Apr 29 11:43 2015.04.29_11.43
-rw-r--r-- 1 root root 137K May 1 12:13 2015.04.29_12.13
-rw-r--r-- 1 root root 125K May 1 …
Run Code Online (Sandbox Code Playgroud)

size find sort files kali-linux

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

Bash 脚本找不到 perl 模块

我有一个 shell 脚本,它在启动时没有运行menutrayi3

线路输入.i3/config

exec ~/.i3/i3-scripts/menutray.sh
Run Code Online (Sandbox Code Playgroud)

这是我尝试调试的内容:

#!/bin/bash
menutray -i -u -r &>/tmp/filename
Run Code Online (Sandbox Code Playgroud)

内容filename

Can't locate Linux/DesktopFiles.pm in @INC (you may need to install the Linux::DesktopFiles module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at /usr/local/bin/menutray line 28.
BEGIN failed--compilation aborted at /usr/local/bin/menutray line 28.
Run Code Online (Sandbox Code Playgroud)

但我有DesktopFiles.pm

$ sudo find / -name 'DesktopFiles.pm'
/home/me/.cpan/build/Linux-DesktopFiles-0.09-LZFN3P/lib/Linux/DesktopFiles.pm
/home/me/.cpan/build/Linux-DesktopFiles-0.09-LZFN3P/blib/lib/Linux/DesktopFiles.pm
/home/me/.perl5/lib/perl5/Linux/DesktopFiles.pm
Run Code Online (Sandbox Code Playgroud)

证明:

$ perl -MCPAN -e 'install Linux::DesktopFiles'
Reading '/home/me/.cpan/Metadata'
  Database was generated …
Run Code Online (Sandbox Code Playgroud)

perl shell-script environment-variables

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

从 echo -e 转义字符

.bashrc用于日志的文件中有以下内容:

function log(){

  RED="\e[0;31m"
  RESET="\e[0m"
  echo -e "${RED}$(date)" "${RESET}$*" >> "$HOME"/mylog.txt
}
Run Code Online (Sandbox Code Playgroud)

但是当我做一些带有撇号的事情时,它会出现某种提示并且没有正确记录它。

如何转义输入到文件中的所有文本?

例子:

$ log this is a testing's post
> hello
> 
> ^C
$
Run Code Online (Sandbox Code Playgroud)

谢谢。

bash echo quoting escape-characters

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

更改多个相似文件名的结尾

我有很多与此类似的文件:

56.mp3?referredby=rss
Run Code Online (Sandbox Code Playgroud)

我想要做的是删除?referredby=rss它们,所以它们会是这样的:

56.mp3
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

bash text-processing filenames rename files

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

使用 grep 显示文件名

我正在寻找一种在使用此命令时显示文件名的方法:

cat *.tcp | grep "tcp" | grep "open" | sort | uniq
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

grep sort uniq cat

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

删除具有特殊字符的字符串

我有一个test类似于以下内容的文件:

hello
my
name
<h6>test morning</h6>
is
bob
Run Code Online (Sandbox Code Playgroud)

我知道我会使用:

sed -i -- 's/name//g' test

要从name文件中删除,但如何删除<h6>test morning</h6>

字符串可以在文件中的任何位置,文件可以是类似 a.css.htmlfile 的任何内容。

bash sed text-processing

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

将分隔符插入文件

我有一个与以下格式类似的文件:

1.1.1.5 Ensure mounting of hfsplus filesystems is disabled
1.1.1.6 Ensure mounting of squashfs filesystems is disabled
1.1.15 Ensure nodev option set on /dev/shm partition
1.1.16 Ensure nosuid option set on /dev/shm partition
1.2.2 Ensure GPG keys are configured
1.3.1 Ensure AIDE is installed
Run Code Online (Sandbox Code Playgroud)

它们并非都以Ensure.

我正在尝试将其导入到电子表格第一列(xxxx)的电子表格中。

例如,我需要用逗号分隔第一列,以便 LibreOffice 可以将其用作分隔符。

如何更改文件以在第一列后添加逗号,以便 LibreOffice 可以使用 bash 将其用作分隔符?

text-processing spreadsheet libreoffice text-formatting

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

awk 运行时错误:没有传递足够的参数

这是脚本:

TYPE="${BLOCK_INSTANCE:-mem}"

awk -v type=$TYPE '
/^MemTotal:/ {
    mem_total=$2
}
/^MemFree:/ {
    mem_free=$2
}
/^Buffers:/ {
    mem_free+=$2
}
/^Cached:/ {
    mem_free+=$2
}
/^SwapTotal:/ {
    swap_total=$2
}
/^SwapFree:/ {
    swap_free=$2
}
END {
    if (type == "swap") {
        free=swap_free/1024/1024
        used=(swap_total-swap_free)/1024/1024
        total=swap_total/1024/1024
    } else {
        free=mem_free/1024/1024
        used=(mem_total-mem_free)/1024/1024
        total=mem_total/1024/1024
    }
    pct=used/total*100

    # full text
    printf("%.1fG/%.1fG (%.f%)\n", used, total, pct)

    # short text
    printf("%.f%\n", pct)

    # color
    if (pct > 90) {
        print("#FF0000\n")
    } else if (pct > 80) {
        print("#FFAE00\n")
    } else if …
Run Code Online (Sandbox Code Playgroud)

ubuntu awk shell-script proc ram

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

从 CSV 列中删除字符

我有一个类似于以下内容的文件:

random,test123,MyCompany, Inc.
hello,12345,TestCompany, LLC
Run Code Online (Sandbox Code Playgroud)

我想从第三列中删除逗号,所以我有这样的事情:

random,test123,MyCompany Inc.
hello,12345,TestCompany LLC
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

command-line sed awk text-processing text-formatting

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