gpt4 book ai didi

linux - 如何修改文本的每一行?

转载 作者:太空狗 更新时间:2023-10-29 11:35:11 25 4
gpt4 key购买 nike

我有一个看起来像这样的文件(它可以有超过 2 行):

$ cat /tmp/temp.txt 
;user1;1.1.1.1;DB1;SELECT;
;userX;2.2.2.2;DB4;SELECT;

我想这样改:

user: user1 address: 1.1.1.1 db: DB1 right: SELECT
user: userX address: 2.2.2.2 db: DB4 right: SELECT

我认为最简单的方法是使用 read 函数:

!/bin/bash

filename='/tmp/temp.txt'
while read ; do
user=$(cut -d";" -f2 /tmp/temp.txt)
address=$(cut -d";" -f3 /tmp/temp.txt)
database=$(cut -d";" -f4 /tmp/temp.txt)
right=$(cut -d";" -f5 /tmp/temp.txt)

echo "user:$user address:$address database:$database right:$right"

done < $filename

脚本的输出是:

user:user1
userX address:1.1.1.1
2.2.2.2 database:DB1
DB4 right: SELECT
SELECT
user:user1
userX address:1.1.1.1
2.2.2.2 database:DB1
DB4 right: SELECT
SELECT

我希望输出的行数与输入文件中的行数相同。

最佳答案

只需使用awk:

$ awk -F ';' '{ print "user:", $2, "address:", $3, "db:", $4, "right:", $5 }' your_file

这会将文件的每一行拆分为分号,然后以所需的输出格式打印出所需的列。

关于linux - 如何修改文本的每一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55920999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com