小编Tux*_*ife的帖子

如何逐行合并文件?

猫文件1

foo
ice
two
Run Code Online (Sandbox Code Playgroud)

猫文件2

bar
cream
hundred
Run Code Online (Sandbox Code Playgroud)

期望的输出:

foobar
icecream
twohundred
Run Code Online (Sandbox Code Playgroud)

在我的场景中,file1 和 file2 将始终具有相同数量的行,以防事情变得更容易。

bash perl sed awk text-processing

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

在 bash 中,有没有一种方法可以制作更短的(if 或)语句?

if [ foo = bar -o foo = car -o foo = jar -o foo = foo ]
  then
    echo yes
fi
Run Code Online (Sandbox Code Playgroud)

为了使事情更有条理,我想尝试将其与列表匹配,例如

if [ foo = {bar,car,jar,foo} ] ; then
Run Code Online (Sandbox Code Playgroud)

显然花括号展开法没有用,要不然我就不会在这里了!但我想知道这样的事情是否可能。

bash

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

如何将键盘按钮映射到鼠标按钮?

我的鼠标上有 2 个额外的按钮,我想将它们映射为“Home”和“End”

我可以使用 xkbset 将鼠标按钮映射到我的键盘,但我想做相反的操作并将键盘按钮映射到我的鼠标。

xbindkeys这里的输出。

mouse xorg keyboard input

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

如何编辑 2 个符号之间的文本范围?awk、sed、正则表达式

使用“*”符号,(不必是那个,任何特殊字符都可以表示),我如何编辑文本:

*berry
straw
rasp
blue
boysen
*
blahblah
blahblah
blahblah
*berry
straw
blue
*
blah
*table
vege
pingpong
*
Run Code Online (Sandbox Code Playgroud)

对此:

strawberry
raspberry
blueberry
boysenberry
blahblah
blahblah
blahblah
strawberry
blueberry
blah
vegetable
pingpongtable
Run Code Online (Sandbox Code Playgroud)

第一个匹配星号之后的每个字符都将放置在每一行上,直到找到第二个星号匹配项。

关于我如何解决这个问题的任何线索?(最好使用 sed 或 awk,但如果您能想到其他方法,请将您的代码发给我!)

我知道如何删除所有包含星号的行,这只是我想不到的字符放置部分

bash regex sed awk

6
推荐指数
3
解决办法
1096
查看次数

如何删除不在引号或括号中的文本?

输入:

19. "foo foo" (bar bar) (19) raboof
"foo foo" raboof
Run Code Online (Sandbox Code Playgroud)

预期输出:

"foo foo" (bar bar) (19)
"foo foo"
Run Code Online (Sandbox Code Playgroud)

如您所见,我想保留双引号和括号。

应删除不在双引号或括号之间的所有内容。

python command-line bash perl sed

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

Xmodmap 未列出的字符。有没有办法添加它们?

我想在使用 xmodmap 映射它们后键入一些特定字符。

例如,? 字符(数值:0x2152)。

我想改变一个键盘按钮来输入?像这样

xmodmap -e "keycode 56 = 0x2152"    #Would like it to type "?"
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。使用英镑符号的示例有效:

xmodmap -e "keycode 56 = 0x023"     #Types "#"
Run Code Online (Sandbox Code Playgroud)

我能做些什么来让它发挥作用,或者我可以联系谁来让它发挥作用?

keyboard xmodmap button

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

如何在某个字符之前将字母大写?(^)

我想转换这个:

foo^bar
ba^rfoo
oofrab
raboof^
Run Code Online (Sandbox Code Playgroud)

对此:

FOObar
BArfoo
oofrab
RABOOF
Run Code Online (Sandbox Code Playgroud)

“^”(或其他特殊字符,如果方便的话)之前的任何内容都将大写

此外,如果删除“^”更容易,也不需要删除。

command-line text-processing

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

列出文件中使用的每个字符的实用方法是什么(Bash)(Regex)

我怎样才能把这个:

Johnny's penguin, (Tuxie), likes the following foods: French fries, and beef.
Run Code Online (Sandbox Code Playgroud)

对此:

 abcdefghiklnoprstuwFJT',():.
Run Code Online (Sandbox Code Playgroud)

(这些是输入中使用的总字符数)

请注意小写字符“jmqvz”不在输入语句中,因此不输出。

顺序并不重要,但小写,然后大写,然后是特殊字符将是首选。

我确定我需要 sed/awk/etc。为此,但经过广泛搜索,我没有发现任何类似的东西。

bash regex sed awk

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

如何提取包含特定单词的括号之间的文本?

我该如何转换:

foo (blah) (bar 80)
foo (cats) (blat 92)
Run Code Online (Sandbox Code Playgroud)

对此:

foo bar 80
foo blat 92
Run Code Online (Sandbox Code Playgroud)

我想保留所有不在括号中的文本。

我只想提取括号之间包含字符串“bar”或“blat”的文本。

不包含“blat”或“bar”的括号对应该被忽略。

sed 或 awk 会更受欢迎

command-line text-processing

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

如何标记文本的出现?

我想转换

blue blue red green
Run Code Online (Sandbox Code Playgroud)

到:

color.1=blue color.2=blue color.3=red color.4=green
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何线索?sed、awk 等?

bash sed awk text-processing

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

如何提取一对相同字符之间的文本?

输入:

blah?foobar1?blah
Run Code Online (Sandbox Code Playgroud)

期望的输出:

foobar1
Run Code Online (Sandbox Code Playgroud)

我想获取两个“?”之间的文本 人物。

假设总是有 0 或 2 个“?” 字符,使事情变得更容易。

我尝试了以下操作,但我不知道如何让它知道它是哪个事件:

echo "blah?foobar1?blah" | sed -n '/?/,/?/p'
Run Code Online (Sandbox Code Playgroud)

python perl sed awk text-processing

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

如何用 2 个分隔符划分输出?

通过除以“·”和“”字符,我想把这个:

Hel·lo my name is E·ric
Run Code Online (Sandbox Code Playgroud)

对此:

Hel·lo my name is E·ric
Hel·lo my name is E·
Hel·lo my name is
Hel·lo my name
Hel·lo my
Hel·lo
Hel·
Run Code Online (Sandbox Code Playgroud)

下面的代码几乎可以做到,但我不太确定需要调整什么才能保留音节点。

sentence="Hel·lo my name is E·ric"
echo $sentence | awk -F'[· ]' -v OFS=" " '{print;for (i=NF;i>1;i--){$i="";print;NF--} }'
Run Code Online (Sandbox Code Playgroud)

python regex perl sed awk

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

标签 统计

sed ×7

awk ×6

bash ×6

text-processing ×5

perl ×4

command-line ×3

python ×3

regex ×3

keyboard ×2

button ×1

input ×1

mouse ×1

xmodmap ×1

xorg ×1