小编k.s*_*stm的帖子

这个引号 (`` ...'') 的约定从何而来?

我经常被问到这样一个问题:

``K.,这个引号的约定从何而来?你知道,那个用两个重音符引入一个带引号的字符串和两个普通的正直单引号结束它的那个?''

我不知道。这是从哪里来的?

history quoting

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

使用字典替换字符串

使用包含大量替换词-替换词对的字典在文件中进行字符串替换的好方法是什么?而到了很多,我实际上意味着约20 -并不多,但许多足以使我想整齐地组织起来。

我有点想以dictionary.txt一种易于管理的方式在一个文件中收集所有替代物-替代物对,因为我需要替换很多东西,比如:

"yes"      : "no"
"stop"     : "go, go, go!"
"wee-ooo"  : "ooooh nooo!"
"gooodbye" : "hello"

"high"     : "low"
"why?"     : "i don't know"
Run Code Online (Sandbox Code Playgroud)

现在我想在一些文件中应用这些替换novel.txt

然后我想运行,magiccommand --magicflags dictionary.txt novel.txt以便yesin 的所有实例novel.txt都被替换no(因此甚至Bayesian会被替换为Banoian),并且所有的goodbyein实例都novel.txt将被替换为hello等等。

到目前为止,我需要替换(和替换)的字符串中没有任何引号(单引号或双引号)。(当然,看到一个解决方案可以很好地处理包含引号的字符串会很好。)

我知道sed并且awk/gawk主要可以做这样的事情,但是他们也可以使用这样的字典文件吗?似乎gawk是合适的人选magiccommand,什么是合适的magicflags?我需要如何格式化我的dictionary.txt?

sed awk text-processing gawk

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

是否可以在 zsh(或任何其他 shell)中定义目录敏感的别名?

我想根据当前工作目录使用不同的别名(或者可能:相同的别名不同)。例如,我可能想使用一些额外选项l的简写ls。我想使用两种变体:

\n\n
alias l="ls --sort=extension" # variant A\nalias l="ls --quoting-style=literal" # variant B\n
Run Code Online (Sandbox Code Playgroud)\n\n

通常,我想使用变体 A。但是,当列出图片 \xe2\x80\x93 时,即当我的工作目录为 时,我想使用变体~/picturesB。(这只是一个最小的例子。我的实际用例更复杂。)

\n\n

我知道我可以简单地编写l()一个在 的输出上区分大小写的函数$(pwd)。但是,我想要一个更强大的解决方案,它允许我重命名特定目录而不更改任何别名(这不会让我的\xe2\x80\x99t混乱.zshrc)。

\n\n

但是是否可以覆盖添加别名,例如通过在相关目录中设置本地.zshrc(就像 vim 和 local 一样.vimrc)?

\n\n

此外,它(也)可能在 bash 或任何其他 shell 中吗?

\n

shell bash zsh alias

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

`mount` 错误:`系统调用失败:文件存在。`

当我尝试挂载 lvm 快照设备时,出现错误:

$ sudo mount -o loop /dev/mapper/matrix-snap--of--core /home/me/mountpoint
mount: /home/me/mountpoint: mount(2) system call failed: File exists.
Run Code Online (Sandbox Code Playgroud)
  • 什么是“文件存在”。试图告诉我的错误?
  • 如何挂载lvm快照设备?

mount 命令“以前一直有效”,尽管我上次检查是在 2018 年 10 月。在这个三年前的问题中遇到了类似的错误。但是,错误消息略有不同,现在是 2019 年……


这是我的输出lsblk

NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                             8:0    0 465.8G  0 disk  
??sda1                          8:1    0 465.8G  0 part  
  ??core                      254:0    0 465.8G  0 crypt 
    ??matrix-swapvolume       254:1    0     4G  0 lvm   [SWAP]
    ??matrix-core-real        254:3    0 461.8G  0 lvm   
      ??matrix-core           254:2    0 461.8G  0 lvm   /
      ??matrix-snap--of--core 254:5 …
Run Code Online (Sandbox Code Playgroud)

mount lvm btrfs

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

在将缩进的行与其父级分组时对行进行排序

我有一个类似书籍索引的行列表,比如

day
    satur-
    sun-
    holy-
night
    ball
    to-
eve
    election
    christmas
Run Code Online (Sandbox Code Playgroud)

现在我想以明显的方式对这些行进行排序:我想将每个“父”条目 ( day, night, eve) 与它们各自缩进的“子”条目 ( satur-, sun-, …) 分组,并按它们的父条目对这些组进行排序。我还想对任何给定组中的子条目进行排序。

因此,所需的输出是:

day
    holy-
    satur-
    sun-
eve
    christmas
    election
night
    ball
    to-
Run Code Online (Sandbox Code Playgroud)

我如何最好地使用 unix 核心工具来实现这一点sort

sort

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

从标准输入创建临时文件

假设我有一个文件内容的标准输入流和一个需要文件名作为参数的命令,我想在由标准输入流的文件内容组成的文件上运行该命令。

例如,而不是命令

imageviewer mouse.jpg
Run Code Online (Sandbox Code Playgroud)

我想要一些神奇的线magic,使这相当于

cat mouse.jpg | magic
Run Code Online (Sandbox Code Playgroud)

magiczsh或 中会是什么样子bash

最好,我希望它看起来像

cat mouse.jpg | submagic | xargs imageviewer
Run Code Online (Sandbox Code Playgroud)

也就是说,我想submagic从标准输入流创建一个临时文件并输出创建的文件的文件名。

这些行magicsubmagic应该是仅使用 bash 或 zsh 命令、它们的内置命令、GNU coreutils 等的 shell 管道。


这是整个问题。以下只是澄清和背景,因为人们一直在误解我的意思。


好的,所以我想我说清楚了,但似乎我没有:我真的希望有一个管道做相当于

imageviewer mouse.jpg
Run Code Online (Sandbox Code Playgroud)

开始正好cat mouse.jpg | …。也就是说,我真的正是一条线magicsubmagic使得准确上述工作的管道-我的意思是我的问题从字面上。

这尤其意味着以下建议的解决方案不起作用:

  • 开始管道 tmpfile = $(mktemp); cat mouse.jpg | … …

shell bash zsh pipe

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

标签 统计

bash ×2

shell ×2

zsh ×2

alias ×1

awk ×1

btrfs ×1

gawk ×1

history ×1

lvm ×1

mount ×1

pipe ×1

quoting ×1

sed ×1

sort ×1

text-processing ×1