如何包含一级目录而不包含二级目录?



我的目录结构如下

/image03
/UM1234ABCD2R1_MRI
/UM1234ABCD2R1
/UM1234ABCD1R1_MRI
/UM1234ABCD1R1
/UM0120AABD1R1_DTI
/UM0120AABD1R1
/UM0120AABC1R1_bold_reward
/UM0120AABC1R1
/CU0112XCMF2R1_b0map_bold
/CU0112XCMF2R1
/CU1243XMDM1R1_b0map_dti
/CU0112XCMF2R1

和我想做一些工作使用下面的命令

find . -type d -not -name "*b0map*" | awk '{printf("dcm2bids -d %s -p %s -s %s -c ./dcm2bids_config.json;n", $0, substr($0,3,6), substr($0,13,1));}'

对于这个,我想只包括一级目录,但它包括二级目录…像下面的

dcm2bids -d .//CU1243XMDM1R1_b0map_dti/CU0112XCMF2R1 -p CU1243 -s 1 -c ./dcm2bids_config.json;

我如何解决这个问题?

+))我想实际运行dcm2bids -d %s -p %s -s %s -c ./dcm2bids_config.json;,如何在上面的代码中擦除printf?

要排除嵌套子目录,可以使用-maxdepth

> tree
.
├── foo1
│   └── bar2
└── spam1
└── eggs2
> find . -type d
.
./spam1
./spam1/eggs2
./foo1
./foo1/bar2
> find . -maxdepth 1 -type d
.
./spam1
./foo1

您也可以使用-mindepth来排除工作目录:

> find . -maxdepth 1 -mindepth 1 -type d
./spam1
./foo1

最新更新