我的文本文件如下:
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脚本,该脚本将读取文本文件并将每个冒号分隔的字段分配给变量,但名称除外,我想将其设置为两个单独的变量。我尝试了几件事,但不能让它发挥作用。对不起,我是新手。提前感谢您的帮助。
答案 0 :(得分:0)
假设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:如果您不介意重写原始文件,可以替换内联:
set -i.bak 's/ /:/' filename