首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在shell中的文件中搜索字符串的一部分

在shell中的文件中搜索字符串的一部分
EN

Stack Overflow用户
提问于 2014-01-06 01:01:22
回答 2查看 67关注 0票数 0

我有一份文件,里面有一个名字的列表。我试图搜索具有特定字符串组的名称,并将它们打印到shell中的一个新文件中。你能帮忙吗?

这是我在看的。文本文件(names.txt)包含的名称如下

代码语言:javascript
运行
AI代码解释
复制
New York_USA
Delhi
Moscow
Tokyo
Austin_USA
Beijing
Chicago_USA

我正试图在一个单独的文件中获取_USA的名称。这是我尝试过的

代码语言:javascript
运行
AI代码解释
复制
#/bin/ksh
for city in "cat names.txt"
do
if ["$city" =~ "*_USA"]
then
echo "$city in USA" > USAnames.txt
fi
done 
EN

回答 2

Stack Overflow用户

发布于 2014-01-06 01:20:08

使用awksed会更容易

如果您希望输出是这样的

代码语言:javascript
运行
AI代码解释
复制
New York_USA in USA
Austin_USA in USA
Chicago_USA in USA

使用

代码语言:javascript
运行
AI代码解释
复制
awk '/_USA$/ {print $0, "in USA"}' names.txt > USAnames.txt

sed

代码语言:javascript
运行
AI代码解释
复制
sed -n 's/\(.*\)_USA$/\0 in USA/p' names.txt > USAnames.txt

或者如果您希望输出是

代码语言:javascript
运行
AI代码解释
复制
New York in USA
Austin in USA
Chicago in USA

使用

代码语言:javascript
运行
AI代码解释
复制
awk -F_ '/_USA$/ {print $1,"in USA"}' names.txt > USAnames.txt

sed

代码语言:javascript
运行
AI代码解释
复制
sed -n 's/\(.*\)_USA$/\1 in USA/p' names.txt > USAnames.txt

编辑

您还可以使用perl打印美国城市。

代码语言:javascript
运行
AI代码解释
复制
#!/usr/bin/env perl
open(NAMES,  "names.txt");
    while (<NAMES>) {
    chomp;
    print "$_ in USA\n" if /_USA$/; # Chicago_USA in USA
    # print "$1 in USA\n" if /(.*)_USA$/; # Chicago in USA
}
close(NAMES);
票数 0
EN

Stack Overflow用户

发布于 2014-01-06 01:50:49

只需使用grep:

代码语言:javascript
运行
AI代码解释
复制
grep '_USA$' your_file> new_file
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20946332

复制
相关文章
在Shell脚本中逐行读取文件的命令方法
为了演示,在此创建一个名为“ mycontent.txt”的文本文件,文件内容在下面:
用户7639835
2021/12/03
9.4K0
【shell脚本】$ 在shell脚本中的使用
注释:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数
码缘
2019/07/01
6.4K0
Shell-alias在Shell脚本中的使用
众所周知,shell脚本使用的是非交互式方式,在非交互式模式下alias扩展功能默认是关闭的,此时虽然可以定义alias别名,但是shell不会将alias别名扩展成对应的命令,而是将alias别名本身当作命令执行,如果shell内置命令和PATH中均没有与alias别名同名的命令,则shell会找不到指定的命令。
小小工匠
2021/08/16
2.4K0
shell中的字符串截取方法
假设有变量 str=http://www.baidu.com/12345.html
AsiaYe
2019/11/06
5.3K0
shell中的字符串截取方法
$加数字在Shell中的含义
$1 - Linux Bash Shell Scripting Tutorial Wiki (cyberciti.biz)
阿东
2023/02/27
1.7K0
$加数字在Shell中的含义
在文件中输入字符串HelloWord
Our life today is three years ago, our life three years later is today's choice.
小Bob来啦
2020/12/15
2.5K0
在文件中输入字符串HelloWord
在PowerBI的切片器中搜索
在制作PowerBI报告时,一般来说,我们都会创建一些切片器。为了节省空间,一般情况下尤其是类目比较多的时候,大多采用下拉式的:
陈学谦
2020/06/18
12.5K0
DNN在搜索场景中的应用
DNN在搜索场景中的应用潜力,也许会比你想象的更大。 --《阿里技术》 1.背 景 搜索排序的特征在于大量的使用了LR,GBDT,SVM等模型及其变种。主要在特征工程,建模的场景,目标采样等方面做了很细致的工作。但这些模型的瓶颈也非常的明显,尽管现在PS版本LR可以支持到50亿特征规模,400亿的样本,但这看起来依然是不太够的,现在上亿的item数据,如果直接使用id特征的话,和任意特征进行组合后,都会超出LR模型的极限规模,对于GBDT,SVM等模型的能力则更弱,而我们一直在思考怎么可以突破这种模型的限制
昱良
2018/06/25
3.8K0
CentOS 的终端中如何搜索文件
其中 filename 是你需要找的文件或文件夹的名称。我们没有指定搜索文件的路径,默认是当前文件夹。
walterlv
2020/02/10
4.5K0
Shell中的$..
$0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个。 $# 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $
用户1173509
2018/03/28
7610
说说Shell在代码重构中的应用
代码重构(Code refactoring)有时是很枯燥的,字符串替换之类的操作不仅乏味,而且还容易出错,好在有一些工具可用,以PHP为例,如:Rephactor,Scisr等等,不过现成的工具往往意味着不够灵活,所以今天我要说说Shell在代码重构中的应用。
LA0WAN9
2021/12/14
6560
在Solr中搜索人名的小建议
搜索人名是我们在许多应用程序中经常用到的功能。比如对书店来说,按作者名检索的功能就相当重要。虽然很难起一个完美的名字,但是我们可以使用Solr的一些功能,使绝大多数英文名搜索达到绝佳的效果。
让让子Dorothy
2018/05/18
2.7K0
[MongoDB] 使用PHP在MongoDB中搜索的实现
条件操作符用于比较两个表达式并从mongoDB集合中获取数据。 MongoDB中条件操作符有: (>) 大于 - $gt (<) 小于 - $lt (>=) 大于等于 - $gte (<= ) 小于等于 - $lte MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式,使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。 MongoDB OR 条件语句使用了关键字 $or
唯一Chat
2020/02/25
5.3K0
Shell 参数扩展及各类括号在 Shell 编程中的应用
今天看有人总结了 shell 下的参数扩展,但不是很全,恰好以前整理过放在百度空间,但百度空间目前半死不活的情况下对 Google 非常不友好,索性一并转过来方便查阅。 1、bash 中的大括号参数扩展(Parameter Expansion) 假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 1.1 bash 下的 split 取“数组”的首、尾: ${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt ${
用户1177713
2018/02/24
1.6K0
Shell 参数扩展及各类括号在 Shell 编程中的应用
数组-在Shell脚本中的基本使用介绍
Shell脚本在运维工作中是极其重要的,而数组在shell脚本里的运用无论是在循环或运算方面都是非常实用的一个环节。 下面是对shell脚本中数组方面一些操作在此进行记录,希望能帮助到有兴趣的朋友~ 1.数组定义 [root@bastion-IDC ~]# a=(1 2 3 4 5 6 7 8) [root@bastion-IDC ~]# echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。 2.数组读取与赋值 1)得到长度: [root@bastion-IDC ~]# echo $
洗尽了浮华
2018/01/22
4.1K0
在python脚本中执行shell命令的方法
最近在写python的一些脚本,之前使用python都是在django中使用,可能大部分内容都是偏向于后端开发方面的,最近在写一些脚本的时候,发现了python的另外一种面貌,发现还挺有意思,分享一下,共大家参考。
AsiaYe
2019/12/18
5.5K0
Shell中的变量
1.基本语法 (1)定义变量:变量=值 (2)撤销变量:unset 变量 (3)声明静态变量:readonly变量,注意:不能unset
编程那点事
2023/02/25
1.6K0
使用shell搜索匹配文件
前两天面tx都有问到这个问题,我知道大致能通过find和grep实现,但是具体没写过.刚刚无事翻了下命令手册,发现find的一个动作: ACTIONS -exec command ; Execute command; true if 0 status is returned. All following arguments to find are taken to be arguments to the command until an argument consisting of `;'
码农二狗
2018/06/29
1.1K0
在 Linux 中重命名文件夹中的所有文件
在Linux系统中,有时候我们需要批量重命名文件夹中的所有文件,以便更好地组织和管理文件。本文将详细介绍几种在Linux中重命名文件夹中所有文件的方法,包括使用命令行工具和脚本等方式。
网络技术联盟站
2023/06/08
5.3K0
在 Linux 中重命名文件夹中的所有文件
点击加载更多

相似问题

Shell脚本,在文件中搜索字符串

10

shell中的字符串搜索

10

Shell搜索文件中的内容

13

在文件中搜索字符串的一部分

33

在Shell脚本中搜索字符串

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档