Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UNIX中txt文件中的序列号_Unix_Awk - Fatal编程技术网

UNIX中txt文件中的序列号

UNIX中txt文件中的序列号,unix,awk,Unix,Awk,我想在unix中为文件中的每一行生成一个唯一的序列号。我无法在数据库中创建标识列,因为它有一些其他源,这些源也在其中插入数据。我尝试在awk中使用NR number,但由于我的脚本中有过滤器,它可能会跳过文件中的行,因此我可能无法获得序列号。 我的要求是-这个序列号需要是持久的,因为每天我都会收到这个文件,应该从我离开的地方开始。此外,对于文件中的每一行,数字前面需要加上EMP_u 请建议 提前感谢。要在UNIX中获得唯一id,可以使用文件存储和读取值。然而,这种方法非常繁琐,需要文件IO锁定机

我想在unix中为文件中的每一行生成一个唯一的序列号。我无法在数据库中创建标识列,因为它有一些其他源,这些源也在其中插入数据。我尝试在awk中使用NR number,但由于我的脚本中有过滤器,它可能会跳过文件中的行,因此我可能无法获得序列号。 我的要求是-这个序列号需要是持久的,因为每天我都会收到这个文件,应该从我离开的地方开始。此外,对于文件中的每一行,数字前面需要加上EMP_u

请建议


提前感谢。

要在UNIX中获得唯一id,可以使用文件存储和读取值。然而,这种方法非常繁琐,需要文件IO锁定机制。最简单的方法是使用日期时间获取唯一id示例:

#!/bin/sh

uniqueVal = `date '+%Y%m%d%H%M%S'`

展示你的尝试。您可能每次都需要解析最后一行以获得前一个结束序列号,并使用计数器+++.awk-F |'BEGIN{OFS=|}NR=1{print IMP_NR,$3,$8,$9}'filename>newfile注意print中的NR请将您用作测试语料库的任何样本包括在内,以改进您的问题。此外,还应包括一个格式正确的预期输出示例,以便人们了解您试图实现的结果。如果“=”周围有空格,示例将放大。祝大家好运。