当前位置: 首页 > 知识库问答 >
问题:

组合sed和awk命令

夏飞跃
2023-03-14

我正在尝试向一个大约有500行的文件中添加几列,但现在让我们假设我使用的是一个有500行的文件。

我有两个命令。一个sed命令和一个awk命令

sed -e "2,$s@^@https://confidential/index.pl?Action=AgentTicketZoom;TicketID=@" C:\Users\hd\Desktop\action.txt > C:\Users\hd\Desktop\test.txt
awk `{       
for (i=0; i<=10; i++)
{
printf "=HYPERLINK(B%d, C%d), \n, i"
}exit1
}`
=HYPERLINK(B2,C2), https://confidential/index.pl?Action=AgentTicketZoom;TicketID=
=HYPERLINK(B3,C3), https://confidential/index.pl?Action=AgentTicketZoom;TicketID=
=HYPERLINK(B4,C4), https://confidential/index.pl?Action=AgentTicketZoom;TicketID=
=HYPERLINK(B5,C5), https://confidential/index.pl?Action=AgentTicketZoom;TicketID=
=HYPERLINK(B6,C6), https://confidential/index.pl?Action=AgentTicketZoom;TicketID=

共有1个答案

那正初
2023-03-14

如果使用awk,则永远不需要sed,并且除了对一行进行简单的替换之外,永远不应该将sed用于任何其他操作。只需使用以下awk脚本:

awk 'NR>1{printf "=HYPERLINK(B%d,C%d), https://confidential/index.pl?Action=AgentTicketZoom;TicketID=%s\n", NR-1, NR-1, $0}' file
 类似资料:
  • 我有一个多行匹配的pcregrep命令,我想把它转换成awk或sed命令,因为我需要它在一台没有pcregrep的机器上(OS X)。 原始命令: 它输出包含字符串“baseTX”的接口名称(这是我发现的唯一可靠地找出MacBook上以太网接口名称的方法)。对我来说是“en4”。 输入文本如下所示: 我怎么能用awk或se抓取“en4”?我试了一个小时,但我只是不擅长se和awk。

  • 问题内容: 只想知道它们之间的主要区别是什么?以及每种语言的功能(最好使用它)。 编辑: 不是“ vs”。就像话题,只是信息。 问题答案: 在出现的顺序,语言是,,,。 该程序是一个流编辑器,旨在将脚本中的操作应用于输入文件的每一行(或更一般而言,应用于指定的行范围)。它的语言基于Unix编辑器,尽管它具有条件等,但是很难处理复杂的任务。您可以用它创造一些小奇迹- 但要花很多钱。但是,当尝试在其权

  • This is a very brief introduction to the sedand awktext processing utilities. We willdeal with only a few basic commands here, but that will sufficefor understanding simple sed and awk constructs with

  • - 轻量级流编辑器,一般用来处理文本类文件 sed 是非交互式的编辑器。它不会修改文件,除非使用 shell 重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上 用 sed -i 会实际写入,下面为了演示,都没加该参数,有需要可以自行添加。 基础例子 有一个文件:/opt/log4j2.properties status = error

  • 问题内容: 我在file.txt中有以下数据: 我想将字符串替换为“-”之后的字符串,最多替换为“;” 只需加上“;”,就可以得到: 我尝试使用以下命令: 但这给了我以下错误: sed命令出现乱码 为什么会这样呢? 问题答案: 这应该工作:

  • 本文向大家介绍awk ARGV,ARGC-命令行参数数组,包括了awk ARGV,ARGC-命令行参数数组的使用技巧和注意事项,需要的朋友参考一下 示例 传递给awk的命令行参数存储在内部元素数组ARGV中ARGC。数组的第一个元素是程序名称。例如: 产生: