我们需要在ios项目中添加注释,OC方法声明为- (void)...
,我想写一个脚本来帮助我做到这一点。
在源文件中,我想在使用//method name: ....
的方法声明之前添加注释,但我不擅长shell ...
例如,
- (id)initWithWindow:(UIWindow *)window;
- (id)initWithView:(UIView *)view;
- (void)show:(BOOL)animated;
- (void)hide:(BOOL)animated;
- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay;
我想添加这样的新行:
.
.
.
//method: - (void)hide:(BOOL)animated;
//parma: animated
- (void)hide:(BOOL)animated;
//method: - (id)initWithView:(UIView *)view;
//parma: view
- (id)initWithView:(UIView *)view;
.
.
.
我该如何处理mac上的shell?
答案 0 :(得分:0)
我想你想要这样的东西:
sed '/-/{h;s|^|//method: |;p;g;s|.*)|//parma: |;s|;$||;p;g;}' filename
这会将结果打印到屏幕上。您可以将其重定向到另一个文件:
sed '/-/{h;s|^|//method: |;p;g;s|.*)|//parma: |;s|;$||;p;g;}' filename > newfile
或者修改旧文件:
sed -i '' '/-/{h;s|^|//method: |;p;g;s|.*)|//parma: |;s|;$||;p;g;}' filename
这是一个中等复杂的sed命令。如果你想了解它,我建议你先练习更简单的sed命令。
答案 1 :(得分:0)
您可以使用以下命令:
sed 's|^- (.*)\([a-z]*\);|//method: &\n//parma: \1\n&|g' inputfile > outputfile
示例输入:
- (id)initWithWindow:(UIWindow *)window;
- (void)hide:(BOOL)animated;
- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay;
示例输出:
//method: - (id)initWithWindow:(UIWindow *)window;
//parma: window
- (id)initWithWindow:(UIWindow *)window;
//method: - (void)hide:(BOOL)animated;
//parma: animated
- (void)hide:(BOOL)animated;
//method: - (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay;
//parma: delay
- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay;