首页 > 解决方案 > 如何使用“sed”将字符添加到文件的行首

问题描述

我有一个带有路径名的文本文件(每个都在自己的行中),格式./abc/def/...abc/def/.... 如何使用 sed 将 a 添加./到所有不以 开头的文件./

我尝试了以下命令,但它给了我一个错误: sed -i -E 's/^(?!\.\/.*$).*/\.\/&/g' ~/output.txt

错误说sed: -e expression #1, char 24: Invalid preceding regular expression

标签: linuxbashshellunixsed

解决方案


请您尝试以下操作。

sed '/^[a-zA-Z]/s/\(.*\)/.\/\1/' Input_file

或者

sed '/^[a-zA-Z]/s/.*/.\/&/' Input_file

第二种解决方案:

sed '/^[^./]/s/^/.\//' Input_file

或者

sed '/^[^./]/s/.*/.\/&/'  Input_file

推荐阅读