Sam*_*rmi 3 shell awk shell-script text-processing
如果有人可以帮助编写一个shell脚本来满足以下要求,这对我会有帮助。
我有一个包含文件名列表的文本文件,如下所示:
ADB_AR_2006_07.pdf
ADBL_AR_2010_11.pdf
CBL_AR_2013_14.pdf
CZBIL_AR_2007_08.pdf
BOKL_AR_2015_16.pdf
..
..
Run Code Online (Sandbox Code Playgroud)
现在我想将文本文件中列出的所有文件名的第一个和第二个 '_' 替换为 ','。这样文件名就变成:
ADB,AR,2006_07.pdf
ADBL,AR,2010_11.pdf
CBL,AR,2013_14.pdf
CZBIL,AR,2007_08.pdf
BOKL,AR,2015_16.pdf
..
..
Run Code Online (Sandbox Code Playgroud)
您可以使用一个简单的sed表达式:
sed -Ei 's/^([^_]+)_([^_]+)_/\1,\2,/' file
Run Code Online (Sandbox Code Playgroud)
file 修改后的内容:
ADB,AR,2006_07.pdf
ADBL,AR,2010_11.pdf
CBL,AR,2013_14.pdf
CZBIL,AR,2007_08.pdf
BOKL,AR,2015_16.pdf
Run Code Online (Sandbox Code Playgroud)
i - 允许就地文件修改
-E - 允许扩展正则表达式
一种简化的方法如下:
sed -i 's/_/,/; s/_/,/' file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |