We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
之前做了个在线的分享平台,但是使用的过程有些繁琐,故想起使用shell脚本将整个过程进行自动化,因为是第一次写shell脚本,所以在做的过程中遇到了一些问题,并且这些问题只是在MacOS下才有,shell脚本原生的Linux环境并没有这么多问题,如果有同学在Mac下写shell脚本遇到了和我同样的问题,可以参考一下。
问题描述:sed编辑命令:sed -i 's/a/b/g' test.txt 报错:sed: 1: "test.txt": undefined label 'est.txt' 解决方案:sed -i '' 's/a/b/g' test.txt 在-i后面加上一对'' 原因:-i参数是强制替换原有文件,但是mac强制要求备份,否则报错,这个在Mac上系统会有问题,否则-i参数无法使用,请注意。
sed -i 's/a/b/g' test.txt
sed: 1: "test.txt": undefined label 'est.txt'
sed -i '' 's/a/b/g' test.txt
-i
''
问题描述:sed追加命令:sed -i '' "/a/a\xxx" test.txt匹配到a字符后追加xxx内容 报错:sed: 1: "/a/a\xxx": extra characters after \ at the end of a command 解决方案:在追加内容前换行,且要用双斜杠\
sed -i '' "/a/a\xxx" test.txt
sed: 1: "/a/a\xxx": extra characters after \ at the end of a command
sed -i '' "/a/a\\ xxx \\ " test.txt
备注:/i操作同理
/i
The text was updated successfully, but these errors were encountered:
No branches or pull requests
背景
之前做了个在线的分享平台,但是使用的过程有些繁琐,故想起使用shell脚本将整个过程进行自动化,因为是第一次写shell脚本,所以在做的过程中遇到了一些问题,并且这些问题只是在MacOS下才有,shell脚本原生的Linux环境并没有这么多问题,如果有同学在Mac下写shell脚本遇到了和我同样的问题,可以参考一下。
问题一:-i参数的问题
问题描述:sed编辑命令:
sed -i 's/a/b/g' test.txt
报错:
sed: 1: "test.txt": undefined label 'est.txt'
解决方案:
sed -i '' 's/a/b/g' test.txt
在-i
后面加上一对''
原因:-i参数是强制替换原有文件,但是mac强制要求备份,否则报错,这个在Mac上系统会有问题,否则-i参数无法使用,请注意。
问题二:匹配a追加内容问题
问题描述:sed追加命令:
sed -i '' "/a/a\xxx" test.txt
匹配到a字符后追加xxx内容报错:
sed: 1: "/a/a\xxx": extra characters after \ at the end of a command
解决方案:在追加内容前换行,且要用双斜杠\
备注:
/i
操作同理参考文献
The text was updated successfully, but these errors were encountered: