如何在数字序列前创建'\'?
how to create '\' before a sequence of numbers?
我的文件夹中有大量文本文件。每个文件包含一个数字序列:
1
1
2
3
4
5
第一个文件,
1
7
7
4
6
1
第二个文件,以此类推。
现在我想将所有这些文本文件复制到一个新的主文件中,每个文件名都在每个部分的开头,一个“。”在每个文件的末尾,每个 number.I 之前的一个 '\' 表示我希望结果是这样的:
#!MLF!#
*/faem0_si762.txt
.
*/fajw0_sx3.txt
.
*/faem0_si1392.txt
.
.
.
我已经写了一段 shell 脚本来完成它,但我坚持在数字前加上 \。这是我的代码:
#!/bin/sh
cd clusteredlabels_train
echo "#!MLF!#";
for i in *;
do
echo "\"*/$i\"";
cat "$i";
echo ".";
done
有人知道我应该更改哪一部分吗?非常感谢!
替换脚本中的这一行
cat "$i";
和
sed -r 's/^([[:digit:]]+)/\/' "$i"
描述
s/^([[:digit:]]+)/\/
我们要求 sed
在一行的开头 (^
) 找到一个或多个数字 ([[:digit:]]+
)。然后我们要求它通过在它们前面加上反斜杠 (\
).
来重写这些数字 ([=16=]
)
测试 Windows 7 - cygwin 2.852(64 位)- sed (GNU sed) 4.2.2
例如使用 sed
在任何行前插入一个 \
:
#!/bin/sh
cd clusteredlabels_train
echo "#!MLF!#";
for i in *;
do
echo "\"*/$i\"";
sed -r 's/^/\/' "$i";
echo ".";
done
我的文件夹中有大量文本文件。每个文件包含一个数字序列:
1
1
2
3
4
5
第一个文件,
1
7
7
4
6
1
第二个文件,以此类推。 现在我想将所有这些文本文件复制到一个新的主文件中,每个文件名都在每个部分的开头,一个“。”在每个文件的末尾,每个 number.I 之前的一个 '\' 表示我希望结果是这样的:
#!MLF!#
*/faem0_si762.txt
.
*/fajw0_sx3.txt
.
*/faem0_si1392.txt
.
.
.
我已经写了一段 shell 脚本来完成它,但我坚持在数字前加上 \。这是我的代码:
#!/bin/sh
cd clusteredlabels_train
echo "#!MLF!#";
for i in *;
do
echo "\"*/$i\"";
cat "$i";
echo ".";
done
有人知道我应该更改哪一部分吗?非常感谢!
替换脚本中的这一行
cat "$i";
和
sed -r 's/^([[:digit:]]+)/\/' "$i"
描述
s/^([[:digit:]]+)/\/
我们要求 sed
在一行的开头 (^
) 找到一个或多个数字 ([[:digit:]]+
)。然后我们要求它通过在它们前面加上反斜杠 (\
).
[=16=]
)
测试 Windows 7 - cygwin 2.852(64 位)- sed (GNU sed) 4.2.2
例如使用 sed
在任何行前插入一个 \
:
#!/bin/sh
cd clusteredlabels_train
echo "#!MLF!#";
for i in *;
do
echo "\"*/$i\"";
sed -r 's/^/\/' "$i";
echo ".";
done