我的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}发布于 2017-11-09 01:21:23
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是存储前一个关键字,pp是为标志打印前一个关键字。
https://stackoverflow.com/questions/47191868
复制相似问题