我有一个文件是一个数字列表,另一个文件(相同的行数)中我需要每行的长度以匹配另一文件中的行数。例如:
文件1:
5
8
7
11
15
文件2:
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
输出:
abcde
abcdefgh
abcdefg
abcdefghijk
abcdefghijklmno
我已经尝试过使用awk并切在一起,但是我一直收到错误“致命:尝试在标量上下文中使用数组'line'”。我不知道该怎么办。任何指导,不胜感激!
awk是您的工具:
# read all the lengths, then process file2
awk 'NR == FNR {len[NR] = $1; next} {print substr($0, 1, len[FNR])}' file1 file2
# fetch a line from file1 whilst processing file2
awk '{getline len < lenfile; print substr($0, 1, len)}' lenfile=file1 file2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句