linux - 使用 perl 或 shell 将文件名插入到同一文件中

标签 linux perl

我有多个文件,我需要将文件名作为新字段放入每个对应的文件中。

示例:

My directory

Sample1.txt Sample3.txt
Sample2.txt Sample4.txt

我已经进入每个文件 头Sample1.txt

 hg1 1 20 
 hg1 40 60

我需要每个文件

head Sample1.txt

hg1 1 20 Sample1
hg1 40 60 Sample1

我可以手动制作,但我有一堆文件。有人可以帮我使用循环为所有文件制作它吗?

谢谢

最佳答案

#!/bin/bash

for vari in $(ls test?); do
  gawk -v fname=$vari '{print $0 " " fname}' $vari > $vari.bak
  mv -f $vari.bak $vari 
done

在上面的例子中,我使用了test? ;最终答案需要文件名模式或字面上的输入文件列表。这有效。

关于linux - 使用 perl 或 shell 将文件名插入到同一文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46372452/

相关文章:

linux - 库大小如何影响应用程序的加载时间和内存占用量?

python - 绑定(bind)调用中发生了什么? (Python+套接字+strace)

perl - 为什么inotify会丢失事件?

linux - Xen 无法在 Centos 7 上启动

c++ - 我正在尝试运行一个程序,将文本从一个文件复制到另一个文件

c++ - 在angstrom上编译c/c++程序

perl - 检测 HTTP::Response 中的重复 header

perl - Rex 和身份文件

perl - 尝试使用@INC并按需调用函数

perl - 如何使用 Perl 将客户端从一个 CGI 页面重定向到另一个页面?