所以我有一个文件夹,里面有更多文件夹。我想告诉一个朋友,他们应该,而不是每个文件夹都包含源文件,而应该只包含每个源文件,每个源文件都包含多个功能;
即代替这个:
src/
load_of_functions/
function1.py
function2.py
function3.py
function4.py
load_more_functions/
function5.py
function6.py
function7.py
even_more_funcitons/
function9.py
function10.py
他们应该有这个:
src/
load_of_functions.py
load_more_functions.py
even_more_funcitons.py
所以我进入了目录,做了一个小班轮,把目录的名字写进电子邮件;
$ ls -l | grep ^d | awk '{print $9}' | perl -pe 's/(.*)/\1.py/g'
ls -l
获取文件和所有信息
grep ^d
以仅保留目录
awk '{print $9}'
以仅打印第 9 列 - 即目录名称perl -pe 's/(.*)/\1.py/g'
并将“.py”添加到每一行。
当我这样做时,我得到了这个:
$ ls -l | grep ^d | awk '{print $9}' | perl -pe 's/(.*)/\1.py/g'
1.py.py
10.py.py
2.py.py
3.py.py
4.py.py
5.py.py
6.py.py
7.py.py
8.py.py
9.py.py
我知道我不是在解析文件,而是逐行解析,因此g
不需要 for global。所以我把它拿出来,它工作正常。
这可以。
但是为什么当我放入时它会替换两次g
?这对我来说毫无意义!