AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-435167

steve's questions

Martin Hope
steve
Asked: 2015-10-09 08:34:24 +0800 CST

对所有文件应用相同的分隔符

  • 0

我在不同的子目录中有几个文件。其中一些有一个只有一个“制表符”的制表符分隔符,如下所示:

1971 1 1 120
1971 1 2 148
1971 1 3 159,5
...

其他的有一个带有 7 个“制表符”的制表符分隔符,如下所示:

1971       1       1       120
1971       1       2       148
...

有没有办法对所有子目录的所有文件应用相同的“制表符”定界符?

files
  • 1 个回答
  • 54 Views
Martin Hope
steve
Asked: 2015-10-08 10:08:00 +0800 CST

将特定列附加到表

  • 1

我有几个具有以下命名风格的表:

INSTITUTE_MODEL_SCENARIO_RIVER.txt

例如:

wbm_gfdl_rcp8p5_mississippi.txt
wbm_hadgem_rcp8p5_mississippi.txt
wbm_miroc_rcp8p5_mississippi.txt
matsiro_gfdl_rcp4p5_mississippi.txt
matsiro_ipsl_rcp8p5_mississippi.txt

我想构建一个输出表,将文件名中包含INSTITUTE和名称的那些分组。SCENARIO为此,我有以下循环:

for institute in wbm matsiro
do
  for scenario in rcp4p5 rcp8p5
  do
    paste "$institute"_*_"$scenario"* > "$hyd_model"_"$scenario".txt
  done
done

不幸的是,在将表格附加到第一个表格时,我想去掉前三个列(以避免冗余)。我知道在命令行中这样做:

paste wbm_gfdl_rcp8p5_mississippi.txt <(cut -f4 wbm_hadgem_rcp8p5_mississippi.txt) <(cut -f4 wbm_miroc_rcp8p5_mississippi.txt) > output.txt

但是我没有成功地在for循环中实现它。欢迎任何提示!

command-line
  • 1 个回答
  • 161 Views
Martin Hope
steve
Asked: 2015-10-08 03:56:48 +0800 CST

带文件名的for循环

  • 4

我有几个文件(表)命名为:institute _model _scenario _river.txt

(institute,model,scenario和river是变量。)我想创建一个for循环来识别每个具有相同institute名称且同时具有相同scenario名称的文件,以便附加每个不同的结果使用以下命令在同一输出文件中建模:

paste filename1.txt filename2.txt > output_file.txt

我知道如何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

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

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
command-line
  • 3 个回答
  • 2048 Views
Martin Hope
steve
Asked: 2015-10-07 08:37:12 +0800 CST

构建表 - 追加选定的列

  • 0

我有几个表(制表符分隔)如下:

YEAR MONTH DAY RES 
1971 1     1   1000 
1971 1     2   1542 
....

他们都呈现相同的三个第一列。为了将所有数据分组到一个大表中,我想附加所有表的最后一列。我目前使用paste命令:

paste table1.txt table2.txt > table.txt

但是,我只想附加最后一列。任何人都知道如何做到这一点?

例如,table1.txt如下:

1971 1 1 1000
1971 1 2 1541
1971 1 3 1245

table2.txt如下:

1971 1 1 234
1971 1 2 457
1971 1 3 987

并且所需的输出应该是这样的table.txt:

1971 1 1 1000 234
1971 1 2 1541 457
1971 1 3 1245 987
command-line
  • 1 个回答
  • 49 Views
Martin Hope
steve
Asked: 2015-10-07 06:18:31 +0800 CST

使用名称组件对文件进行排序和分类 (unix)

  • 1

我有一个包含数千个文件的文件夹,这些文件遵循以下命名方案:

'institute_model_scenario_river.txt'

文件名的每个组成部分(机构、模型、场景、河流)都是变量。

然后,我想按每个变量的名称 exept'scenario'和对这些文件进行排序和分类'river'。

因此,应使用每个研究所名称创建一个相应的目录。这些目录应该由相应地命名为不同“模型”名称的子目录组成。

更准确地说,我想提供一个小例子,考虑以下文件:

wbm_gfdl_rcp4_mississippi.txt
matsiro_gfdl_rcp8_amazon.txt
wbm_miroc_rcp8_niger.txt

我想创建一个包含'wbm'子目录'gfdl'(包含以下文件'wbm_gfdl_rcp4_mississippi.txt')和'miroc'(包含以下文件'wbm_miroc_rcp8_niger.txt')的目录。和一个'matsiro'只有一个'gfdl'子目录(包含'matsiro_gfdl_rcp8_amazon.txt')的目录。

考虑到大量的文件,我真的不知道从哪里开始!

command-line
  • 1 个回答
  • 656 Views
Martin Hope
steve
Asked: 2015-08-20 07:28:09 +0800 CST

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

  • 4

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

/home/list/list.txt

目录都在以下路径

/home/directory/

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

delete
  • 4 个回答
  • 4616 Views
Martin Hope
steve
Asked: 2015-08-15 02:04:44 +0800 CST

重新格式化表格

  • 2

我有以下类型的表:

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
...

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

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

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

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

bash
  • 4 个回答
  • 263 Views
Martin Hope
steve
Asked: 2015-08-11 07:38:06 +0800 CST

按特定顺序连接表格

  • 0

我想连接下表:

A
B
C
D
E
...

我目前正在使用:

find "PATH" name "*.txt" -exec cat {} + >> "PATH/output.txt"

我的问题是这个命令从 A 连接到 X;事实上,我想将 X 连接到 A。有谁知道该怎么做?谢谢

cat
  • 1 个回答
  • 54 Views
Martin Hope
steve
Asked: 2015-08-04 05:09:13 +0800 CST

连接多个没有标题的文件

  • 2

我有几个目录(“amazon”、“niger”、...),其中有几个子目录(“gfdl”、“hadgem”、...),其中还有几个子目录(“rcp8p5” “,“rcp4p5”,...)。在这最后一个子目录中,我总是有两个文件夹(“historical”、“projected”),其中包含数千个具有相同框架的表。因此,我想连接这些表(存在于最后一个子目录的两个文件夹中),以便每次连接一个表时只有一个只有一个标题而不是标题的大表。有谁知道该怎么做?

我目前正在使用以下循环结构:

#!/bin/bash
# usage:cat_dat dirname

data_dir=/scratch/01/stevens/climate_scenario/river

for river in tagus
  do
   for gcm in gfdl-esm2m hadgem2-es
     do
      for scenario in rcp8p5 rcp4p5 rcp6p0 rcp2p6
        do
          find "${data_dir}/${river}/${gcm}/${scenario}" name \*.dat -exec cat {} + >> "${data_dir}/${river}/${gcm}/${scenario}.dat"
      done
   done
done

但我不能用那个摆脱标题!非常感谢任何帮助!谢谢!

command-line
  • 2 个回答
  • 7915 Views
Martin Hope
steve
Asked: 2015-08-03 04:36:26 +0800 CST

整理文件夹

  • 1

我有几个文件夹(“亚马逊”、“尼日尔”、“莱茵河”……)。在他们每个人里面我有几个子文件夹(“gfdl”,“hadgem”,“ipsl”,...)。每个子文件夹由5个子文件夹组成(例如在“amazon”中,子文件夹“gfdl”由5个子文件夹'amazon_gfdl'、'amazon_gfdl1'、...、'amazon_gfdl5'组成);和其他子文件夹遵循相同的结构(例如,在“amazon”中,子文件夹“ipsl”由 5 个子文件夹“amazon_ipsl”、“amazon_ipsl1”、“amazon_ipsl2”、...直到“amazon_ipsl5”组成。

我有大量的文件夹遵循相同的组织框架。因此,我的问题如下:

如何组织每个文件夹和子文件夹,以便在每个子文件夹(“gfdl”、“hadgem”、“ipsl”、...)中创建 4 个新目录(“1”、“2”、“3” ", "4"); 然后将文件夹例如“amazon_gfdl”(已经存在于“gfdl”中)复制到每个新目录中,最后将“amazon_gfdl1”移动到新目录“1”,“amazon_gfdl2”移动到新目录“2”,等等!

我目前正在使用命令 cp 并在每个子文件夹中移动,但它并不是很有效,我可能需要额外的生命来结束这样的任务!因此,任何帮助或提示将不胜感激。非常感谢你!

bash
  • 2 个回答
  • 164 Views
Martin Hope
steve
Asked: 2015-08-01 08:22:44 +0800 CST

从不同的子文件夹中删除文件列表

  • 2

我有一个文件夹(称为“文件夹”),由不同的子文件夹(“subfolder1”、“subfolder2”、...)组成。我想删除“文件夹”所有子文件夹中的文件列表,而所有子文件夹中都存在一些文件!

我目前使用:

while read file; do rm "$file"basz.dat; done < ~/folder/subfolder1/list.txt

不幸的是,这只对当前文件夹有效。如何对所有子文件夹应用相同的命令?

command-line
  • 1 个回答
  • 107 Views
Martin Hope
steve
Asked: 2015-08-01 06:10:59 +0800 CST

将文件列表复制/移动到新目录

  • 2

我在一个文件夹中有大量文件(例如 110011basz.dat、110012basz.dat、110013basz.dat...),调用folder. 另一方面,我有一个与我需要移动到另一个文件夹的文件相关的列表(我们称之为folder2)。此列表不显示文件的全名,而只显示前缀,例如 110011。

现在如何将这些文件移动到folder2?

谢谢您的帮助!

command-line
  • 1 个回答
  • 3487 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve