Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >Unix脚本:用":“写入另一个文件失败了

Unix脚本:用":“写入另一个文件失败了
EN

Stack Overflow用户
提问于 2016-02-02 22:53:21
回答 2查看 50关注 0票数 1

我把下面的记录(和其他许多这样的记录)放在一个文件中。

代码语言:javascript
代码运行次数:0
复制
9460    xyz            abc (lmn):1027739543798. Taxpayer's identification number (INN): 123. For all IIB. 2016/02/03

我需要搜索关键字IIB。如果匹配,那么我需要获取整个记录并写入另一个文件。

下面是已经存在的代码。这段代码不起作用。这段代码的问题在于,当它获取完全匹配的记录时,它忽略了":“之后的文本,并将其写入另一个文件。

代码语言:javascript
代码运行次数:0
复制
cat keyword.cfg | while read KwdName
do
    echo "KEYWORD:"${KwdName} //This prints IIB
    grep "^${KwdName}\|${KwdName}\|~${KwdName}~\|:${KwdName}$\|:${KwdName}~" ${mainFileWithListOfRecords} | awk -F ":" '{print $1}' >> ${destinationFile}
done

因此,与其将下面的记录写入目标文件

代码语言:javascript
代码运行次数:0
复制
9460    xyz            abc (lmn):1027739543798. Taxpayer's identification number (INN): 123. For all IIB. 2016/02/03

只是写作而已,

代码语言:javascript
代码运行次数:0
复制
9460    xyz            abc (lmn)

cat -vte mainFileWithListOfRecords提供以下输出

代码语言:javascript
代码运行次数:0
复制
9460^IMEZHPROMBANK^I^ICJSC ;IIB;~ Moscow, (lmn): 1027739543798. Taxpayer's identification number (INN): 123. For all IIB. 2016/02/031#msid=s1448434872350^IC1^I2000/12/28^I2015/11/26^I^I$
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-03 13:31:57

短期修复正在取代

代码语言:javascript
代码运行次数:0
复制
awk -F ":" '{print $1}'

使用

代码语言:javascript
代码运行次数:0
复制
cut -d ":" -f2-

但你要剪什么?也许${mainFileWithListOfRecords}是一个包含文件列表的变量。在这种情况下,grep将在其匹配的前面显示匹配的文件。您可以使用-h选项来更改它。其结果是,您不需要切割或awk:

代码语言:javascript
代码运行次数:0
复制
grep -h "${KwdName}" ${mainFileWithListOfRecords} >> ${destinationFile}

(我也更改了搜索字符串,在搜索字符串中使用\|${KwdName}\|,您将在所有组合中匹配KwdName )

票数 1
EN

Stack Overflow用户

发布于 2016-02-03 00:07:32

当然,它切断了冒号--你是这样编程的。在您的代码中,您有| awk -F ":" '{print $1}',这基本上意味着“丢弃从第一个冒号开始的所有内容”。

如果您不想这样做,为什么要显式地请求它?在编写awk命令时,您的初衷是什么?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35170368

复制
相关文章
话单查询记录写入到文件-shell脚本
shellcatalog="/root/nullhuadan" # 脚本工作目录
eisc
2021/02/10
5560
unix 的 bash shell 脚本
1. test01   test02 1 200    1 100 2 500    2 300 3 200    3 50 4 100    4 150 输出 200 100 100 500 300 200 300 50  150 100 150 -50 awk 减法数组 awk ‘ NR == FNR { a[NR]=$2 } NR != FNR { print a[FNR], $2,(a[FNR]-$2)} ' /root/test* 2. 123abc456 45
bear_fish
2018/09/20
1.5K0
RCA-MongoDB数据写入失败
1.首先想到分析mongoDB日志记录 通过 cat /etc/mongod.conf 找到日志所在目录 /var/log/mongodb/mongod.log
Spaceack
2020/11/04
1.3K0
记一次用sqlmap写入文件测试
IT同路人 公众号ID:IT同路人 记一次用sqlmap写入文件测试 随手测试了下,是个注入,于是就打算丢到了sqlmap里面。 可是sqlmap却是抽了疯是的。。 看着情况,也不是一时半会能有结果
ittongluren
2019/11/19
2.1K0
用python删除文件_python运行另一个py文件
一、三种删除方法 二、删除失败情况 PermissionError: [WinError 5] 拒绝访问 2.1 给python权限 2.2 删除改为更名 一、三种删除方法 python删除文件和文件夹主要用到os模块和shutil模块,针对文件夹和文件的删除,有几种情况,直接上代码:
全栈程序员站长
2022/11/17
2.2K0
用python删除文件_python运行另一个py文件
通过Python脚本将DMP文件写入AWS RDS Oracle中
由于RDS(Oracle)不直接支持SSH,FTP(基于安全因素吧).所以原有系统expdp或exp出来的dmp文件,不能直接导入到RDS中。官方文档里建议通过networklink或者dblink的方式 从原有数据库迁移到RDS,考虑到网络和安全因素,此方法暂被忽略掉。
星哥玩云
2022/08/16
1.5K0
[apue] 作为 daemon 启动, Unix Domain Socket 侦听失败?
前段时间写一个传递文件句柄的小 demo,有 server 端、有 client 端,之间通过 Unix Domain Socket 通讯。
海海
2022/08/19
3090
用 shell 脚本修改网卡配置信息批量写入IP地址
#!/bin/bash #======用户填写信息网卡聚合后的IP信息 gatewayset=1.1.1.1 netmask=255.255.255.0 # 子网掩码 a=( # 请将IP地址放置括号内,分隔符是换行或者空格 1.1.1.1 ) dnsset=8.8.8.8 dnsset1=114.114.114.114 # IP写入 sed -i 's/^SELINUX.*/SELINUX=Disabled/g'
eisc
2020/10/29
2.2K0
crontab 脚本错误日志和正确的输出写入到文件
如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情。因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件
周小董
2019/03/25
5.8K0
文件操作——写入
前面我们说到了文件的读取,读取的文件是我们手动创建的txt文本文档,VBA也是可以对文件进行写操作的。
xyj
2020/07/28
2.9K0
文件操作——写入
java写入文件
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106359.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/30
2K0
lua文件写入
mode 作用 r 读,文件不存在则报错 w 写,若文件存在则覆盖重写,若文件不存在则新建 a 写,若文件不存在,则新建;如果文件存在,则在文件尾追加要写的内容 r+ 读写,文件不存在则报错 w+ 读写,若文件存在则覆盖重写,若文件不存在则新建 a+ 读写,若文件不存在,则新建;如果文件存在,则在文件尾追加要写的内容 b 以二进制模式打开文件 file=io.open("/test.txt","r") io.input(file)-- 设置默认输入文件 print(io.read()) io.close(
司夜
2023/03/31
2.1K0
Jmeter写入文件
一. 场景 之前我们推文讨论过如何使用jmeter读取文件, 比如csv, txt文件读取, 只要配置csv数据文件, 即可非常容易的从文件中读取想要的数据, 但是如果数据已经从API或者DB中获取
louiezhou001
2019/07/25
2.3K0
Jmeter写入文件
shell脚本实际运用_shell脚本调用另一个脚本
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168438.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
9960
python脚本向influxdb写入数
python3使用requests模块向influxdb的http API发送接口请求实现数据写入,如下:
py3study
2020/01/07
1.7K0
UNIX 入门指南 – 什么是 Shell 脚本
Shell 是用户访问 Unix 操纵系统的接口。它接收用户的输入,然后基于该输入执行程序。程序执行完后,结果会显示在显示器上。
用户1685462
2021/08/31
1K0
复制查到到的文件到另一个目录(shell脚本)
Test:find ../../res.bak/item/ -type f -name "*.jpg" |xargs -n1 -i echo {}."abc"
meteoric
2018/11/16
1.4K0
Python实现PD文字识别、提取并写入CSV文件脚本分享
扫描件一直受大众青睐,任何纸质资料在扫描之后进行存档,想使用时手机就能打开,省心省力。但是扫描件的优点也恰恰造成了它的一个缺点,因为是通过电子设备扫描,所以出来的是图像,如果想要处理文件上的内容,直接操作是无法实现的。
老表
2022/04/07
3.3K0
Python实现PD文字识别、提取并写入CSV文件脚本分享
点击加载更多

相似问题

从unix shell脚本写入oracle日志文件?

30

Informatica UNIX脚本失败

14

用bash脚本将内容写入文件

11

用于从目录写入文件名的Unix Shell脚本

10

搜索文件unix脚本

126
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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