我想编写一个 shell 脚本,允许我打开一个具有特定名称的文本文件,并在每行开头写上文件的名称。因此,如果我的文件名为“test”,并且它有三行:
SCORE1 567
SCORE2 434
SCORE3 789
脚本将打开它并将其更改为:
test SCORE1 567
test SCORE2 434
test SCORE3 789
然后它应该保存它并覆盖原始文件。
理想情况下,脚本会对特定文件夹中的所有文件执行此修改,并在每个文件的每一行中写入该特定文件的名称。
一旦此过程完成,我会将这些文件提供给另一个脚本,该脚本将它们合并为一个文件,稍后将使用电子表格进行分析。
你能帮我吗?我有一些想法,但我想读一下你的。我几乎没有编写 shell 脚本的经验。
答案1
您可以使用以下脚本,
#!/bin/bash
awk -v var="$1" '{print var" "$0 }' "$1" > /tmp/temp.txt
mv /tmp/temp.txt "$1"
授予脚本执行权限,如下所示chmod +x scriptname
以如下方式运行脚本,
./scriptname test
假设“test”是您要修改的文件,并且您正在从文件“test”所在的同一文件夹运行脚本。