【问题标题】:tcsh reading columns of a text file into variablestcsh 将文本文件的列读入变量
【发布时间】:2015-07-22 00:11:42
【问题描述】:

我有一个文本文件,看起来像:

Jose Santiago:385-898-8357:385-555-5555:38 Fife Way, Abilene, TX 39673:1/5/58:95600

Tommy Savage:408-724-0140:408-777-0121:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200

Yukio Takeshida:387-827-1095:387-888-1198:13 Uno Lane, Ashville, NC 23556:7/1/29:57000

Vinh Tranh:438-910-7449:438-999-0000:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900

我正在尝试编写一个 tcsh 脚本,该脚本将读取文本文件并将每个冒号分隔的字段分配给一个变量,但名称除外,我想将其设置为两个单独的变量。我已经尝试了几件事,但无法让它发挥作用。对不起,我是新手。提前感谢您的帮助。

【问题讨论】:

    标签: global-variables tcsh file-read


    【解决方案1】:

    假设 name 变量总是只有两个单词用空格分隔,您可以先用 : 替换那个空格,然后使用 cut 将字段放入变量中:

    sed 's/ /:/' <filename >new_file
    set var1 = `cut -f1 -d ':' new_file`
    set var2 = `cut -f2 -d ':' new_file`
    set var3 = `cut -f3 -d ':' new_file`
    

    等...文件中的每个字段

    PS:如果你不介意重写你的原始文件,你可以替换inline:

    set -i.bak 's/ /:/' filename
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 2018-06-12
      相关资源
      最近更新 更多