用另一个文件输出中的用户名加公司替换一个文件上的用户名

易卜拉欣A

我有2个文本文件。一个是用户名列表以及他们在同一行工作的公司,但由制表符分隔。第二个是每周生成的报告的输出,其中包含更多信息。

目的是从每周报告中获取名称,并从用户名列表中将其替换为名称和公司。

用户名和公司的列表在UserList.txt文件上看起来像这样,其中用制表符空格分隔。

Name1      Company 1
Name2      Company 2
Name3      Company 3
Name4      Company 4
Name5      Company 5

每周输出文件包含在Weekly.txt文件中

test.txt

我不知道如何查看第一个文本文件以获取名称和公司名称,并仅替换第二个文本文件中的该部分。

我正在寻找最终的输出看起来像:

FinalOutput.txt

到目前为止,我找到了一种使用sed命令手动执行此操作的方法这是我到目前为止的内容:

sed -r 's/Name1/Name1 Company 1/g;s/Name2/Name2 Company 2/g;s/Name3/Name3 Company 3/g;s/Name4/Name4 Company 4/g;s/Name5/Name5 Company 5/g'

这是可行的,但它不会读入另一个文件并获取最新信息。请记住,我正在使用cygwin,这都是一个较大的脚本的一部分。

卡托什

一种解决方案是在用户文件的每一行进行替换。以下脚本将就地编辑Weekly.txt:

prefix="loginName:\s*"
tail -n+2 UserList.txt | while read line; do
    name=$(printf "$line" | cut -f1)
    company=$(printf "$line" | cut -f2 | tr -d '\n')
    sed -i "s/^\($prefix\)$name/\1$name $company/g" Weekly.txt
done

为了提高效率,我们可以收集替换并执行一次sed:

prefix="loginName:\s*"
sedCommand=$(tail -n+2 UserList.txt | while read line; do
    name=$(printf "$line" | cut -f1)
    company=$(printf "$line" | cut -f2 | tr -d '\n')
    printf "s/^\($prefix\)$name/\1$name $company/g;"
done)
sed "$sedCommand" Weekly.txt > new_Weekly.txt

此版本保持Weekly.txt不变,并将结果写入new_Weekly.txt

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何确保自动填充的用户名不会被 InfoPath 中的另一个用户名替换

PHP文件返回1,而不是另一个PHP文件中的登录用户名

如何将一个用户名更改为另一个?

android在另一个活动的edittext中传递用户名和密码

如何在一个文本文件中存储多个用户名

当shell的用户是root时,在另一个用户名上运行su会要求另一个用户的密码吗?

如何将用户名从用户模型关联到Django中的另一个模型?

如何从python中的用户ID获取Discord成员用户名并移动到另一个频道?

Django 如何通过用户名访问另一个对象?

导航到另一个页面时,已登录的用户名消失

另一个用户名的无密码ssh?

显示来自另一个表 Laravel 8 的用户名

Sitefinity多个用户的一个用户名

如何基于sqql中的最大ID显示另一个表中的用户名

如何将用户名传递给Android Studio中的另一个活动

post方法传递电子邮件并将该用户名插入另一个表时,如何从表中选择用户名?

创建一个配置文件以保存诸如Python行为中的用户名密码url之类的值

用文件中的另一个单词替换一个特定的单词

将用户名和密码发送到另一个应用程序

当 linux 上有多个 postgresql 安装时,如何添加另一个 postgres 用户名?

如何通过使用具有关系的另一个表中的数据(user_id)从用户表中检索用户名

Yii2,如何将登录用户的用户名自动保存到另一个表中?

如何创建一个以用户名和日期作为文件夹名称的文件夹?

在联接3个表的mysql表中查找最后一个帖子的用户名

我在 .txt 文件中有用户名和密码。我想制作一个脚本,使用文件中的凭据向多个用户发送邮件

在 django 的登录表单中添加一个新字段以及用户名和密码

创建一个 PHP 脚本来检查 LDAP 中的用户名和密码组合

Struts2:如何从一个动作到另一个动作存储安全用户名和密码

从另一个文件替换一个文件中的文本