小编use*_*375的帖子

使用 grep 匹配精确的字符串

我有一个文本文件:

deiauk 1611516 afsdf 765
minkra 18415151 asdsf 4152
linkra sfsfdsfs sdfss 4555
deiauk1 sdfsfdsfs 1561 51
deiauk2 115151 5454 4
deiauk 1611516 afsdf ddfgfgd
luktol1 4545 4 9
luktol 1
Run Code Online (Sandbox Code Playgroud)

我想完全匹配deiauk。当我这样做时:

grep "deiauk" file.txt
Run Code Online (Sandbox Code Playgroud)

我得到这个结果:

deiauk 1611516 afsdf 765
deiauk1 sdfsfdsfs 1561 51
deiauk2 115151 5454 4
Run Code Online (Sandbox Code Playgroud)

但我只需要这个:

deiauk 1611516 afsdf 765
deiauk 1611516 afsdf ddfgfgd
Run Code Online (Sandbox Code Playgroud)

我知道有一个-w选项,但是我的字符串必须整行。

grep

107
推荐指数
4
解决办法
55万
查看次数

在特定单词后获取值

我有这个文件

1 deiauk David Smith from California 12 58
2 edvin from Nevada 12 5 8 95 2 48 5
3 jaco My Name Is Jacob I'm from NY 5  6  845 156 585
4 from Miami
Run Code Online (Sandbox Code Playgroud)

我需要在特定单词之后获取值from是否可以在 shell 中执行此操作?我的输出应该是

California
Nevada
NY
Miami
Run Code Online (Sandbox Code Playgroud)

shell string

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

awk:比较两个文件

我有一个 file1.txt

USA Joe 123.123.123
Russia Marry 458.786.892
Canada Greg 151.844.165
Latvia Grace 125.895.688
Run Code Online (Sandbox Code Playgroud)

和 file2.txt

1 123.123.123
2 151.844.165
3 465.879.515
Run Code Online (Sandbox Code Playgroud)

我想创建一个新文件result.txt,在那里我只打印那些地址 (xxx.xxx.xxx) 都在 file1 和 file2 中的行,所以我的结果应该是

USA Joe 123.123.123
Canada Greg 151.844.165
Run Code Online (Sandbox Code Playgroud)

我需要使用 awk,但是我需要如何将它用于两个文件?

awk text-processing join

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

合并两个文件

我有这个file1.txt

deiauk 9
kespaul 8
luktol 7 
titkur 6
Run Code Online (Sandbox Code Playgroud)

和其他 file2.txt

kespaul b
deiauk a 
Run Code Online (Sandbox Code Playgroud)

我想通过第一个值将两个文件合并,所以我的结果应该是

deiauk 9 a
kespaul 8 b
luktol 7 
titkur 6
Run Code Online (Sandbox Code Playgroud)

shell-script text-processing join

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

在文件中查找与另一个文件中定义的模式匹配的行

我有两个文件 file1.txt

kepaul
jack
mike 
david
Run Code Online (Sandbox Code Playgroud)

file2.txt

1 london smith 12564
2 miami jack 51616
3 la mike 165156
4 london kepaul 54654
5 miami grag 46546
Run Code Online (Sandbox Code Playgroud)

我需要从file2.txt包含在名称中找到的file1.txt名称打印到一个新的文件行。所以我的结果应该是

4 london kepaul 54654
2 miami jack 51616
3 la mike 165156
Run Code Online (Sandbox Code Playgroud)

grep awk

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

如何查看目录是否存在?

如何检查是否/bin/x86_64/bin/ls是 bash shell 脚本中的目录

这是我尝试过的:

#!/bin/bash

if [ $# -eq 2 ]; then
    if [[ "$1" = /* ]]
    then
    cd ./bin/x86_64/bin/ls
        if [ -d "$1" ]; then
            echo "ok"
            i="$1"
            echo $i
        else
            echo "error2"
            exit
        fi
    else
        echo "error"
        exit
    fi
fi
Run Code Online (Sandbox Code Playgroud)

shell directory shell-script files test

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

标签 统计

awk ×2

grep ×2

join ×2

shell ×2

shell-script ×2

text-processing ×2

directory ×1

files ×1

string ×1

test ×1