如何拆分文件并从同一文件中为文件指定名称

时间:2018-04-04 11:03:28

标签: linux sh

我有行数据的txt文件。我想分割每一行并将其作为新文件。但我也想为文件指定名称。 我的原始文件包含行数,每行有两个以制表符分隔的条目。我希望将第二个条目指定为文件名。 举个例子:

vivek15 #tab separated# ds104
anni23 #tab separated# ds106

我想将每一行拆分为单个文件,并且文件名应该是在制表符分隔后的一行中的第二个条目。在这种情况下ds104

1 个答案:

答案 0 :(得分:0)

使用参数扩展来提取选项卡之前和之后的子字符串。

#! /bin/sh
tab=$(printf "\t")
while read -r line ; do
    value=${line%$tab*}
    file=${line#*$tab}
    printf %s "$value" > "$file"
done < file.txt