【发布时间】:2019-03-18 15:27:47
【问题描述】:
一个愚蠢的问题要问,但我似乎无法通过 stackoverflow 或其他谷歌搜索结果找到答案。这个问题要么太具体,要么太愚蠢。我觉得是后者……
我正在使用awk过滤不同子目录下的文件,我想在文件所在的同一子目录下输出结果。
我正在使用 find 命令,并且能够awk 匹配该模式的所有子目录中的文件。
我find 文件以 .tsv 结尾,然后 awk 第 8 列(-1 下的值),然后我使用文件名的基数输出文件并添加 .txt
for file in $(find $DIR2 -type f -name '*.tsv'); do
awk -F$'\t' '$8 < -1' $(find $DIR2 -type f -name '*.tsv') > $DIR2/$(basename ${file%.*}).txt; done
但是,我有点卡住了,不知道如何输出原始子目录下的文件。
如果我使用$DIR2/,它只会在这个特定目录下导出,而没有$DIR2/,它会被导出到当前工作目录。
【问题讨论】:
-
这对于理解exec {}+命令unix.stackexchange.com/questions/389705/…很有帮助
标签: for-loop awk find subdirectory