我在路径 1 中有下面提到的文件,
fb1.tril.cap
fb2.tril.cap
fb3.tril.cap
例如文件fb1.tril.cap中的数据如下所示,
AT99565 150 500 (DEST 81)
AT99565 101 501 (DEST 883)
AT99565 152 502 (419)
例如文件fb2.tril.cap中的数据如下所示,
AT99565 103 1503 (DEST 165)
AT99565 104 154 (DEST 199)
例如文件fb3.tril.cap中的数据如下所示,
RT61446 80 863 (DEST 968)
RT20447 32 39 (DEST 570)
RT51224 73 74 (592)
我编写了如下所示的代码来打印我的必填字段,
while read file_name
do
cat ${file_name} | awk -F' ' '$4 == "(DEST" { print
$1, $2, $3, $5}' | awk -F')' '{print $1, $2, $3, $4}' | uniq >> output.csv
done < path_1
我低于输出,
AT99565 150 500 81
AT99565 101 501 883
AT99565 103 1503 165
AT99565 104 154 199
RT61446 80 863 968
RT20447 32 39 570
但我还想打印文件名以及来自数据来源的数据,如下所示,
AT99565 150 500 81 fb1.tril.cap
AT99565 101 501 883 fb1.tril.cap
AT99565 103 1503 165 fb2.tril.cap
AT99565 104 154 199 fb2.tril.cap
RT61446 80 863 968 fb3.tril.cap
RT20447 32 39 570 fb3.tril.cap
任何人都可以通过打印文件名和数据来帮助我完成我的工作。提前致谢。
最佳答案
首先,我无法测试我的代码解决方案,但此代码可能会为您运行。
while read file_name
do
cat ${file_name} | awk -F' ' '$5 == "(DEST" { print
$1, $2, $3, $5}' | awk -F')' '{print $1, $2, $3, $4, $file_name}' | uniq >> output.csv
done < path_1
关于linux - 如何使用数据来自哪里的数据打印文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53648511/