【问题标题】:Combining sed and awk commands结合 sed 和 awk 命令
【发布时间】:2014-08-22 10:14:24
【问题描述】:

我正在尝试将几列添加到一个包含大约 500 行的文件中,但现在假设我使用的是一个包含 500 行的文件。

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

sed 命令用于在每一行的前面放置一个字符串。 (它完美地工作) 脚本示例:

sed -e "2,$s@^@https://confidential/index.pl?Action=AgentTicketZoom;TicketID=@" C:\Users\hd\Desktop\action.txt > C:\Users\hd\Desktop\test.txt

awk 命令旨在将一个字符串放在每行的开头,在 sed 字符串之前,并增加两个数字(下面的示例)。所以从技术上讲,sed 命令将在第 2 列,而 awk 命令将在第 1 列。

我会使用另一个 sed 命令,但 sed 不会轻易增加值。请帮忙!

脚本示例:

awk `{       
for (i=0; i<=10; i++)
{
printf "=HYPERLINK(B%d, C%d), \n, i"
}exit1
}`

awk 代码应该显示类似

=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=

【问题讨论】:

    标签: regex bash shell awk sed


    【解决方案1】:

    如果您使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-31
      • 1970-01-01
      • 2015-11-04
      • 2011-12-01
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多