小编ste*_*eve的帖子

删除存储在文件中的目录列表

我在以下路径中有一个目录名称列表

/home/list/list.txt
Run Code Online (Sandbox Code Playgroud)

目录都在以下路径

/home/directory/
Run Code Online (Sandbox Code Playgroud)

如何使用命令行删除列表中包含的目录?

delete rm

4
推荐指数
2
解决办法
3743
查看次数

带有文件名的 for 循环

我有几个文件(表)命名为:研究所_模型_场景_.txt

机构模型场景河流是变量。)我想创建一个for循环来识别具有相同机构名称和相同场景名称的每个文件,以便附加每个不同的结果模型在同一个输出文件中,使用以下命令:

paste filename1.txt filename2.txt > output_file.txt
Run Code Online (Sandbox Code Playgroud)

我知道如何for在不同的文件夹上创建循环,但不知道如何在文件名上创建循环。有人有想法吗?

作为一个最小的例子,文件名可能如下:

wbm_gfdl_rcp8p5_mississippi.txt
wbm_hadgem_rcp8p5_mississippi.txt
matsiro_gfdl_rcp8p5_mississippi.txt
matsiro_ipsl_rcp4p5_mississippi.txt
matsiro_hadgem_rcp4p5_mississippi.txt
matsiro_miroc_rcp8p5_mississippi.txt
Run Code Online (Sandbox Code Playgroud)

然后,我想将以下文件附加在一起:

wbm_gfdl_rcp8p5_mississippi.txt with
wbm_hadgem_rcp8p5_mississippi.txt

matsiro_ipsl_rcp4p5_mississippi.txt with
matsiro_hadgem_rcp4p5_mississippi.txt

matsiro_gfdl_rcp8p5_mississippi.txt with
matsiro_miroc_rcp8p5_mississippi.txt
Run Code Online (Sandbox Code Playgroud)

command-line bash files

4
推荐指数
1
解决办法
1815
查看次数

重新格式化表格

我有以下类型的表:

ID   date     DailyFlow
a 1972-01-01 17.0265761797993
b 1972-01-02 17.200476457399
c 1972-01-03 17.2926436045271
d 1972-01-04 17.3900277599829
e 1972-01-05 17.5987080931028
f 1972-01-06 17.6334881486229
g 1972-01-07 17.7030482596626
...
Run Code Online (Sandbox Code Playgroud)

我想将它们重新格式化如下:

YYYY    DDD sim
1972    1   17.0265761797993
1972    2   17.200476457399
1972    3   17.2926436045271
1972    4   17.3900277599829
1972    5   17.5987080931028
1972    6   17.6334881486229
1972    7   17.7030482596626
1972    8   17.7204382874227
Run Code Online (Sandbox Code Playgroud)

第一行包含在表中。这些文件是带有“制表符”分隔符的纯文本 (*.txt)。ID 列是一个虚拟的列,我想摆脱它!在我想要的输出中,DDD 列上的数字 (1,2,3,...) 应与相应年份的日期相符。

有没有人知道如何做到这一点(使用 bash)?谢谢!

bash text-processing

2
推荐指数
1
解决办法
261
查看次数

标签 统计

bash ×2

command-line ×1

delete ×1

files ×1

rm ×1

text-processing ×1