10
05--Nov--2010--Friday 23:24:57,06--Nov--2010--Saturday 8:23:34
06--Nov--2010--Saturday 8:23:34,06--Nov--2010--Saturday 9:56:22
我想创建一个线程文件,如下所示[使用shell脚本]。
10,05--Nov--2010--Friday 23:24:57,06--Nov--2010--Saturday 8:23:34
10,06--Nov--2010--Saturday 8:23:34,06--Nov--2010--Saturday 9:56:22
答案 0 :(得分:2)
#!/bin/bash
rm -f file3.txt
prefix=$(cat file1.txt)
for i in $(cat file2.txt)
do
echo $prefix,$i >> file3.txt
done
答案 1 :(得分:1)
awk '{print '`cat file1.txt`' "," $0}' file2.txt > file3.txt
或者
line=`cat file1.txt`;
awk '{print '`echo $line`' "," $0}' file2.txt > file3.txt
答案 2 :(得分:1)
awk 'NR==FNR {prefix=$0; next} {print prefix "," $0}' file1.txt file2.txt > file3.txt
awk变量NR是所有输入行的当前行号,FNR是当前文件的行号:NR == FNR仅对于awk读取的第一个文件中的行为真。
答案 3 :(得分:1)
这是格伦·杰克曼的另一个答案:
awk -v pf=file1.txt 'BEGIN{getline p<pf;OFS=","} {print p,$0}' file2.txt > file3.txt
主要区别在于,如果file1.txt
有多行,我将使用第一行,他将使用最后一行。