AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-283843

αғsнιη's questions

Martin Hope
αғsнιη
Asked: 2019-04-12 06:50:02 +0800 CST

bash 历史记录中的多行命令块分成多行

  • 11

在 Bash(以及 WSL 中的 Bash)中,多行编写的命令可以正确地使用向上/向下箭头回调,内置history命令也可以正确报告它们(直到我仍然在 bash 中登录)。

但是在退出bash并按下向上/向下箭头后,多行命令每个都显示为单独的条目,这是因为cat ~/.bash_history已经在多个单独的条目上丢弃了命令并且这里出现了书写问题;命令history结果也很混乱。

我已将这些选项设置为~/.bashrc

shopt -s cmdhist lithist
HISTTIMEFORMAT='%F %T '

现在写入问题已修复,但history命令仍以多行和单独的条目报告(现在阅读问题)。

Bash 版本是 4.3,在 v4.4 上同样的问题

多年来一直有这个错误报告,但还没有解决方案。

更新:

还需要提到的是,即使在退出 Bash 之后,下面的多行命令也能正确显示:

for i in {1..10}
do
echo $i
done

但这失败了:

awk '
{ print $1}' <<<'first last'

更新 2:

上述问题已在 Bash v5.0.0+ 中得到修复,该版本更改为将“时间戳作为分隔符”之间的条目识别为命令的单个条目(必须设置HISTTIMEFORMAT、cmdhist和lithist )。

bash history bash-history
  • 1 个回答
  • 2063 Views
Martin Hope
αғsнιη
Asked: 2017-05-28 01:11:24 +0800 CST

如果已经有 tar 版本,则从 tar 中跳过文件?

  • 2

该tar命令是否有一个选项来跳过/忽略对已经 tar 过的文件进行 tar 处理?

考虑到我有一个file1.txt,它的 tar-ed file1.tar.gz,现在我复制了另一个副本file1.txt和许多其他文件,如file2.txt,file3.txt等

我期望的是,在对所有这些文件进行 tar 处理时,不要file1.txt再次 tar;我对排除所有*.tar.gz文件不感兴趣,因为它没有告诉tar命令不要选择file1.txttar。

我实际上需要阻止file1.txt通过tar命令选择file1.tar.gz再次执行 tar 之前存在的操作(现在它被覆盖)。

注意:我可以编写一个脚本,但我想确保tar命令不能这样做。

command-line
  • 2 个回答
  • 1147 Views
Martin Hope
αғsнιη
Asked: 2017-04-22 19:29:19 +0800 CST

如何在不解压缩的情况下获取 .tar.gz 中的文件大小(原始文件大小)?

  • 4

我使用以下命令将 myfile.txt 压缩为压缩文件,有没有办法在不解压缩的情况下获得原始文件大小“myfile.txt”。

tar -czf myfile.tar.gz myfile.txt
command-line
  • 3 个回答
  • 15046 Views
Martin Hope
αғsнιη
Asked: 2016-12-03 16:13:42 +0800 CST

在x时间间隔内根据时间戳处理文件记录

  • 3

我有一个文件,其中的一部分作为示例,如下所示,其中包含一个时间戳字段:

20161203001211,00
20161203001200,00
20161203001500,102
20161203003224,00
20161203001500,00
20161203004211,00
20161203005659,102
20161203000143,103
20161202001643,100
....

我想根据时间戳处理此文件,以计算 15 分钟间隔内的出现次数。我知道如何每分钟做一次,我也使用awk脚本在 10 分钟间隔内完成,但不知道如何才能在 15 分钟间隔内获得以下输出:

startTime-endTime             total SUCCESS FAILED    
20161203000000-20161203001500 5     3       2
20161203001500-20161203003000 2     1       1
20161203003000-20161203004500 2     2       0
20161203004500-20161203010000 1     0       1
20161202000000-20161202001500 0     0       0
20161202001500-20161202003000 1     0       1
....

00 表示成功,其他情况表示失败记录。

是的,它是 24 小时,所以一天中的每个小时应该有 4 条间隔打印记录。

command-line
  • 1 个回答
  • 879 Views
Martin Hope
αғsнιη
Asked: 2016-11-02 23:22:26 +0800 CST

如何在不使用 crontab 的情况下定期执行脚本?

  • 3

如何像 crontab 一样定期执行脚本但不使用 crontab?

请注意,执行的脚本不应与另一个脚本一起触发并使用“睡眠”命令对其进行调度,我希望它具有与 crontab 相同的功能,但它不应出现在 crontab 列表中,并且不应在终端或会话结束时停止,

crontab 完全正确,但没有 croning 它。

command-line
  • 2 个回答
  • 6322 Views
Martin Hope
αғsнιη
Asked: 2016-10-17 07:35:00 +0800 CST

如何生成或打印遗漏的序列?

  • 2

我有一个带有示例的 .txt 文件,如下所示,

010.123.32.0001
010.123.32.0021
010.123.33.0001
...
010.123.33.9991
010.123.32.9012
010.123.33.0005

我需要获取(或换句话说打印)我的文件中不存在的那些序列,我只是想生成一个包含所有现有序列的文件并对其执行 grep 或 awk 以获取那些存在于 fakeGeneratedAllSequences 但不存在的序列在我的真实文件中使用 greping

grep -Fvf sequences.txt fakeGeneratedAllSequences > missedSequences

但是我正在寻找一个命令,如果可以让这个错过的序列变得容易,谢谢

command-line
  • 1 个回答
  • 42 Views
Martin Hope
αғsнιη
Asked: 2016-10-15 02:43:47 +0800 CST

使用 xargs 重命名后如何将文件传递给 tar.gz?

  • 2

我正在尝试重命名日志文件并将它们 tar 为“tar.gz”,我以以下命令结束,但它没有从 STDIN(mv 命令的输出)获得重命名的文件名,它导致tar命令创建空文件,

find -type f -name "logs*" -exec bash -c ' \
     mv "$0" "$0_$(date -r "$0" +"%Y%m%d%H%M%S")"| \
     xargs tar -czf "$0_$(date -r "$0" +"%Y%m%d%H%M%S")".tar.gz --null -T - 
' "{}" \;

如何使用上述命令修改后的重命名文件或有其他方法(在 bash shell 中)?谢谢

command-line
  • 1 个回答
  • 475 Views
Martin Hope
αғsнιη
Asked: 2016-09-13 05:17:07 +0800 CST

如何在下次登录时将上次登录 shell 保留为当前 shell?

  • 5

作为标题,如何在下次登录时将上次登录 shell 保留为当前 shell?例如,我的默认 shell 是“bash”,而我切换到了“zsh”,如何在下次登录或打开终端时将“zsh”shell 作为我的当前 shell?

command-line
  • 2 个回答
  • 433 Views
Martin Hope
αғsнιη
Asked: 2016-08-19 22:14:31 +0800 CST

为什么括号“][”需要双转义“\\”以防止shell解释?

  • 5

我使用“bash”外壳并在文件上执行下面的“awk”命令,文件记录用括号、冒号、括号等不同字符分隔,如下示例记录

...(field#13[field#14:]]:filed#18[filed#19)[...

但是,当我使用单转义“\”转义“] [”时,awk 命令失败,我必须双转义 '\\' 括号才能获得预期的结果,它需要如何使用双转义括号(在 'csh ' 外壳是一样的)?

awk -F"[\\[\\]:)(]" '{print $18}' inFile
filed#18

还请注意这一点,我知道我可以用双重转义 '\\' 来逃避它们,如下所示,我只想知道为什么对于括号这是强制性的?

awk -F"[\\[\\]\\:\\)\\(]" '{print $18}' inFile
filed#18

即使使用信号转义也会发出警告(括号除外),但仍然命令执行和结果来了,谢谢

awk -F '[\\[\\]\:\)\(]' '{print $18}' inFile
awk: warning: escape sequence `\:' treated as plain `:'
awk: warning: escape sequence `\)' treated as plain `)'
awk: warning: escape sequence `\(' treated as plain `('
filed#18
command-line
  • 1 个回答
  • 3775 Views
Martin Hope
αғsнιη
Asked: 2016-01-10 09:13:21 +0800 CST

防止所有命令被定义为别名

  • 10

有没有办法防止所有命令被定义为别名?

例如,用户不应该能够将rm任何其他命令(Ubuntu 默认命令)定义为别名。

bash
  • 4 个回答
  • 2106 Views
Martin Hope
αғsнιη
Asked: 2016-01-04 00:44:36 +0800 CST

使用 `awk` 打印唯一单词、出现次数和总和

  • 4

如何使用 in 中的单个数组打印唯一单词、它们出现的次数以及它们在相关列中的值的总和awk?

我正在使用awk:

awk -F, '{sum[$1]+=$2} END{for (x in sum) print x, sum[x]}' inFile

我可以修改上面的命令来打印唯一单词的总出现次数吗?以下示例输入的结果类似于以下结果:

结果(打印结果的顺序无关紧要):

A 2 25 
B 1 12 
C 3 18

输入:

A,15
C,13
C,4
A,10
B,12
C,1

我可以添加另一个数组来分别计算它们,但我认为应该有另一种方法来使用相同的数组打印它。

数组中是否有任何索引sum来存储看到的总单词?

command-line
  • 2 个回答
  • 1995 Views
Martin Hope
αғsнιη
Asked: 2015-05-09 07:26:40 +0800 CST

为什么对 PATH 中的目录使用“-execdir”操作不安全?

  • 21

-execdir为什么在使用 isn't的同时使用 find的操作组合是不安全的-exec?

当我运行以下命令时,我收到以下提示消息:

/path/to/currentDir/$ find . -type f -name 'partOfFileNames*' -execdir rm -- {} +

find: The current directory is included in the PATH environment variable, which is insecure 
in combination with the -execdir action of find.  Please remove the current directory 
from your $PATH (that is, remove "." or leading or trailing colons)

什么可能导致出现此提示?

command-line
  • 5 个回答
  • 11943 Views
Martin Hope
αғsнιη
Asked: 2015-02-26 08:33:45 +0800 CST

使用“less”命令时,如何将终端上显示的内容重定向到文件?

  • 19

如何将终端内容(使用less命令时当前我正在查看的内容不是整个文件的内容)重定向到输出文件,直到我按Q退出less?

command-line
  • 1 个回答
  • 1379 Views
Martin Hope
αғsнιη
Asked: 2015-01-05 09:13:10 +0800 CST

如何获得特定单词恰好重复 N 次的行?

  • 8

对于这个给定的输入:

How to get This line that this word repeated 3 times in THIS line?
But not this line which is THIS word repeated 2 times.
And I will get This line with this here and This one
A test line with four this and This another THIS and last this

我想要这个输出:

How to get This line that this word repeated 3 times in THIS line?
And I will get This line with this here and This one

获取整行仅包含三个重复的“this”字样。(不区分大小写的匹配)

text-processing
  • 7 个回答
  • 3470 Views
Martin Hope
αғsнιη
Asked: 2015-01-01 13:38:25 +0800 CST

如何告诉 shell 重新读取 ~/.bashrc?[复制]

  • 3
这个问题在这里已经有了答案:
重新加载 bash 的 .profile 而不注销并重新登录 (2 answers)
7 年前关闭。

我怎样才能告诉 shell 在~/.bashrc不重新启动 shell 的情况下重新读取?

command-line
  • 1 个回答
  • 10003 Views
Martin Hope
αғsнιη
Asked: 2014-12-27 07:00:48 +0800 CST

如何使 Ubuntu 文本颜色更易于阅读?

  • 1

在 Ubuntu 14.04 中,默认的文本和图标颜色是灰色的,它们不太清晰且不易阅读。我怎样才能使颜色变暗并变成黑色或其他颜色?

icons
  • 1 个回答
  • 339 Views
Martin Hope
αғsнιη
Asked: 2014-12-23 08:37:11 +0800 CST

|(pipe) 运算符的替代方案

  • 9

我正在寻找|bash shell 中运算符的替代方法,用于将命令输出重定向为下一个命令的输入。还有其他选择吗?

就像是 :

command1 | command2 | command3

替代:

command1 X command2 X command3

X将用于代替|. 是否可以避免使用|它并用它的实际操作员替换它?

bash
  • 1 个回答
  • 16670 Views
Martin Hope
αғsнιη
Asked: 2014-12-11 04:51:12 +0800 CST

使用“+”(加号)和“;”有什么区别?(分号)在 -exec 命令中?

  • 36

我想知道当我在命令中使用时using+和命令;末尾之间有什么区别?-execfind

find .... -exec ... \; 

VS

find .... -exec ... + 
find
  • 1 个回答
  • 4338 Views
Martin Hope
αғsнιη
Asked: 2014-11-13 05:10:41 +0800 CST

如何找到两个字符之间的所有模式?

  • 6

我试图找到一对双引号之间的所有模式。假设我有一个文件,其内容如下所示:

first matched is "One". the second is here"Two "
and here are in second line" Three ""Four".

我想将以下单词作为输出:

One
Two
Three
Four

如您所见,输出中的所有字符串都在一对引号之间。

我试过的是这个命令:

grep -Po ' "\K[^"]*' file

如果我在第一对"标记之前有一个空格,上面的命令就可以正常工作。例如,如果我的输入文件包含以下内容,它就可以工作:

first matched is "One". the second is here "Two "
and here are in second line " Three " "Four".

我知道我可以通过多个命令组合来做到这一点。但是我正在寻找一个命令并且没有多次使用它。例如:下面的命令

grep -oP '"[^"]*"' file | grep -oP '[^"]*'

我怎样才能只使用一个命令来实现/打印我的所有模式?

回复评论: 删除一对引号内匹配模式周围的空格对我来说并不重要,但如果命令也支持它会更好。而且我的文件包含嵌套引号,如"foo "bar" zoo". 并且所有引用的单词都在单独的行中,并且不会扩展为多行。

提前致谢。

command-line
  • 5 个回答
  • 22036 Views
Martin Hope
αғsнιη
Asked: 2014-11-02 08:04:01 +0800 CST

如何从命令行上传照片到 imgur 并获得它们的直接链接?

  • 11

有没有一种方法可以通过命令行将一些照片上传到imgur.com,并在文本文件中获取它们的直接链接?

command-line
  • 2 个回答
  • 9390 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve