unix - 使用awk进行输出操作

时间:2017-11-09 00:11:12

标签: awk

我的unix框中有一个文件,数据如下所示

Output-1
========
abc
x.sh
y.sh
mnk
qrs
a.sh
b.sh
mno
qwe

我希望输出修改如下

Output-2
========
abc||x.sh
abc||y.sh
mnk
qrs||a.sh
qrs||b.sh
mno
qwe

我们可以使用awk实现吗?

实际上我有一些文字,我想找到找到这个文本的脚本。我能够实现它,但输出-1,但我希望它作为输出-2格式。我使用的代码如下

#!/bin/ksh

input_file=$1
dir_list=$2

while read dir_list; do
  while read -r line; do
    echo $line; grep -i $line /code/${dir_list}/scripts/*.sh|awk -F":" '{print $1}'|uniq;
  done < ${input_file} > code_${dir_list}_scripts.txt
done < ${dir_list}

1 个答案:

答案 0 :(得分:0)

LDFLAGS = 救援!

awk

命名法: awk -v OFS='||' '/\.sh/{print p, $0; pp=0; next} pp {print p} {p=$0; pp=1} END {if(pp) print p}' file abc||x.sh abc||y.sh mnk qrs||a.sh qrs||b.sh mno qwe 是存储以前的关键字,p用于打印上一个关键字的标记。