如何通过脚本将相同的文本添加到多个文件?
How I can add the same text to several files via script?
我想要一种使用小脚本将相同文本(例如 "bye" 或更多行)添加到一组文件的简单方法。我尝试在脚本中使用 ed
和 vi
,但没有用。
编辑:我编辑这条评论更具体:
我有文件 c0001.gin c0002.gin ...最多可以说 500 个。我需要在每个文件的末尾添加下一个文本:
species
Ca core 2.00000000
Co core 2.00000000
C core 1.34353898
O core 1.01848700
O shel -2.13300000
buck intra
O core O core 4030.3000 0.245497 0.00000000 0.00 2.50 1 0 0
buck
Ca core O shel 2154.0600 0.289118 0.00000000 0.00 10.00 1 0 0
Co core O shel 1095.6000 0.286300 0.00000000 0.00 10.00 1 0 0
Ca core C core 120000000.000 0.120000 0.00000000 0.00 10.00 1 0 0
Co core C core 95757575.760 0.120000 0.00000000 0.00 10.00 1 0 0
buck inter
O shel O shel 64242.454 0.198913 21.843570 0.00 15.00 1 0 0
morse intra bond
C core O core 5.0000000 2.5228 1.19820 0.0000 1 0
three
C core O core O core 1.7995 120.00
outofplane bond intra
C cor O cor O cor O cor 8.6892 360.0
spring
O 52.740087
我只需要一个脚本即可。
此外,这些文件位于名为 "CALCS" 的文件夹中,我想将每个文件移动到 CALCS 中的另一个文件夹,c0001.gin 名为“001”,文件 [=30= 名为“002” ]等等。
提前致谢
#!/bin/sh
text="${1:?Usage: [=10=] <text> <file>...}"
shift
files="${@}"
for file in $files
do
echo "$text" >> "$file"
done
我想要一种使用小脚本将相同文本(例如 "bye" 或更多行)添加到一组文件的简单方法。我尝试在脚本中使用 ed
和 vi
,但没有用。
编辑:我编辑这条评论更具体:
我有文件 c0001.gin c0002.gin ...最多可以说 500 个。我需要在每个文件的末尾添加下一个文本:
species
Ca core 2.00000000
Co core 2.00000000
C core 1.34353898
O core 1.01848700
O shel -2.13300000
buck intra
O core O core 4030.3000 0.245497 0.00000000 0.00 2.50 1 0 0
buck
Ca core O shel 2154.0600 0.289118 0.00000000 0.00 10.00 1 0 0
Co core O shel 1095.6000 0.286300 0.00000000 0.00 10.00 1 0 0
Ca core C core 120000000.000 0.120000 0.00000000 0.00 10.00 1 0 0
Co core C core 95757575.760 0.120000 0.00000000 0.00 10.00 1 0 0
buck inter
O shel O shel 64242.454 0.198913 21.843570 0.00 15.00 1 0 0
morse intra bond
C core O core 5.0000000 2.5228 1.19820 0.0000 1 0
three
C core O core O core 1.7995 120.00
outofplane bond intra
C cor O cor O cor O cor 8.6892 360.0
spring
O 52.740087
我只需要一个脚本即可。
此外,这些文件位于名为 "CALCS" 的文件夹中,我想将每个文件移动到 CALCS 中的另一个文件夹,c0001.gin 名为“001”,文件 [=30= 名为“002” ]等等。
提前致谢
#!/bin/sh
text="${1:?Usage: [=10=] <text> <file>...}"
shift
files="${@}"
for file in $files
do
echo "$text" >> "$file"
done