2023年8月2日发(作者:)

linux字符串替换命令,vi字符串替换命令vi 编辑器提供简单的字符串替换命令,在末⾏模式下可以使⽤替换命令,其命令格式如下:[range]s/s1/s2/ [option][range] 表⽰检索范围,省略时表⽰当前⾏。下⾯是⼀些检索范围的例⼦。1,10表⽰从第 1 ⾏到 10 ⾏。%表⽰整个⽂件,同1, $。. ,$从当前⾏到⽂件尾。s 为替换命令。s1 要被替换的串,s2 为替换的串。option 表⽰选项:/g表⽰在全局⽂件中进⾏替换。/c表⽰在每次替换之前需要⽤户进⾏确认。省略时仅对每⾏第⼀个匹配串进⾏替换。下⾯实例演⽰了字符串替换命令,将第 10~22 ⾏的 printf 标识符替换为 PRINT。1) 在 vi 编辑器中编辑以下代码:int main(void){struct stat buf; /*存储⽂件状态信息*/if(stat("s1", &buf) == -1) {perror ("fail to stat");exit(1);}printf("permission : %d/n", _mode);printf("inode number : %d/n", _ino);printf("device number : %d/n", _dev);printf("r-device number : %d/n", _rdev);printf("link : %d/n", _nlink);printf("uid : %d/n", _uid);printf("gid : %d/n", _gid);printf("file size : %d/n", _size);printf("access time : %d/n", _atime);printf("motify time : %d/n", _mtime);printf("change time : %d/n", _ctime);printf("buf size : %d/n", _blksize);printf("block size : %d/n", _blocks);return 0;}2) 在末⾏模式下输⼊以下替换命令:10,22s/printf/PRINT/g屏幕显⽰如下:int main(void){struct stat buf; /*存储⽂件状态信息*/if(stat("s1", &buf) == -1) {perror ("fail to stat");exit(1);}PRINTF("permission : %d/n", _mode);PRINTF("inode number : %d/n", _ino);PRINTF("device number : %d/n", _dev);PRINTF("r-device number : %d/n", _rdev);PRINTF("link : %d/n", _nlink);PRINTF("uid : %d/n", _uid);PRINTF("gid : %d/n", _gid);PRINTF("file size : %d/n", _size);PRINTF("access time : %d/n", _atime);PRINTF("motify time : %d/n", _mtime);PRINTF("change time : %d/n", _ctime);PRINTF("buf size : %d/n", _blksize);PRINTF("block size : %d/n", _blocks);return 0;}vi 编辑器在执⾏替换命令指令时,可以进⾏简单的模式匹配,其匹配模式如下:/%s//下例演⽰了这种替换操作,更改 stat 结构的变量名,将整个⽂件中的 buf 替换为 stat_buf。1) 在 vi 编辑器中编辑以下代码:int main(void){struct stat buf; /*存储⽂件状态信息*/if(stat("s1", &buf) == -1) {perror ("fail to stat");exit(1);}printf("permission : %d/n", _mode);printf("inode number : %d/n", _ino);printf("device number : %d/n", _dev);printf("r-device number : %d/n", _rdev);printf("link : %d/n", _nlink);printf("uid : %d/n", _uid);printf("gid : %d/n", _gid);printf("file size : %d/n", _size);printf("access time : %d/n", _atime);printf("motify time : %d/n", _mtime);printf("change time : %d/n", _ctime);printf("buf size : %d/n", _blksize);printf("block size : %d/n", _blocks);return 0;}2) 在末⾏模式下输⼊命令:%s//int main(void){struct stat stat_buf; /*存储⽂件状态信息*/if(stat("s1", &stat_buf) == -1) {perror ("fail to stat");exit(1);}printf("permission : %d/n", stat__mode);printf("inode number : %d/n", stat__ino);printf("device number : %d/n", stat__dev);printf("r-device number : %d/n", stat__rdev);printf("link : %d/n", stat__nlink);printf("uid : %d/n", stat__uid);printf("gid : %d/n", stat__gid);printf("file size : %d/n", stat__size);printf("access time : %d/n", stat__atime);printf("motify time : %d/n", stat__mtime);printf("change time : %d/n", stat__ctime);printf("stat_buf size : %d/n", stat__blksize);printf("block size : %d/n", stat__blocks);return 0;}TAG:除⾮注明,⽂章均由 Linux系统学习 整理发布,欢迎转载。如有版权争议,请联系删除。

2023年8月2日发(作者:)

linux字符串替换命令,vi字符串替换命令vi 编辑器提供简单的字符串替换命令,在末⾏模式下可以使⽤替换命令,其命令格式如下:[range]s/s1/s2/ [option][range] 表⽰检索范围,省略时表⽰当前⾏。下⾯是⼀些检索范围的例⼦。1,10表⽰从第 1 ⾏到 10 ⾏。%表⽰整个⽂件,同1, $。. ,$从当前⾏到⽂件尾。s 为替换命令。s1 要被替换的串,s2 为替换的串。option 表⽰选项:/g表⽰在全局⽂件中进⾏替换。/c表⽰在每次替换之前需要⽤户进⾏确认。省略时仅对每⾏第⼀个匹配串进⾏替换。下⾯实例演⽰了字符串替换命令,将第 10~22 ⾏的 printf 标识符替换为 PRINT。1) 在 vi 编辑器中编辑以下代码:int main(void){struct stat buf; /*存储⽂件状态信息*/if(stat("s1", &buf) == -1) {perror ("fail to stat");exit(1);}printf("permission : %d/n", _mode);printf("inode number : %d/n", _ino);printf("device number : %d/n", _dev);printf("r-device number : %d/n", _rdev);printf("link : %d/n", _nlink);printf("uid : %d/n", _uid);printf("gid : %d/n", _gid);printf("file size : %d/n", _size);printf("access time : %d/n", _atime);printf("motify time : %d/n", _mtime);printf("change time : %d/n", _ctime);printf("buf size : %d/n", _blksize);printf("block size : %d/n", _blocks);return 0;}2) 在末⾏模式下输⼊以下替换命令:10,22s/printf/PRINT/g屏幕显⽰如下:int main(void){struct stat buf; /*存储⽂件状态信息*/if(stat("s1", &buf) == -1) {perror ("fail to stat");exit(1);}PRINTF("permission : %d/n", _mode);PRINTF("inode number : %d/n", _ino);PRINTF("device number : %d/n", _dev);PRINTF("r-device number : %d/n", _rdev);PRINTF("link : %d/n", _nlink);PRINTF("uid : %d/n", _uid);PRINTF("gid : %d/n", _gid);PRINTF("file size : %d/n", _size);PRINTF("access time : %d/n", _atime);PRINTF("motify time : %d/n", _mtime);PRINTF("change time : %d/n", _ctime);PRINTF("buf size : %d/n", _blksize);PRINTF("block size : %d/n", _blocks);return 0;}vi 编辑器在执⾏替换命令指令时,可以进⾏简单的模式匹配,其匹配模式如下:/%s//下例演⽰了这种替换操作,更改 stat 结构的变量名,将整个⽂件中的 buf 替换为 stat_buf。1) 在 vi 编辑器中编辑以下代码:int main(void){struct stat buf; /*存储⽂件状态信息*/if(stat("s1", &buf) == -1) {perror ("fail to stat");exit(1);}printf("permission : %d/n", _mode);printf("inode number : %d/n", _ino);printf("device number : %d/n", _dev);printf("r-device number : %d/n", _rdev);printf("link : %d/n", _nlink);printf("uid : %d/n", _uid);printf("gid : %d/n", _gid);printf("file size : %d/n", _size);printf("access time : %d/n", _atime);printf("motify time : %d/n", _mtime);printf("change time : %d/n", _ctime);printf("buf size : %d/n", _blksize);printf("block size : %d/n", _blocks);return 0;}2) 在末⾏模式下输⼊命令:%s//int main(void){struct stat stat_buf; /*存储⽂件状态信息*/if(stat("s1", &stat_buf) == -1) {perror ("fail to stat");exit(1);}printf("permission : %d/n", stat__mode);printf("inode number : %d/n", stat__ino);printf("device number : %d/n", stat__dev);printf("r-device number : %d/n", stat__rdev);printf("link : %d/n", stat__nlink);printf("uid : %d/n", stat__uid);printf("gid : %d/n", stat__gid);printf("file size : %d/n", stat__size);printf("access time : %d/n", stat__atime);printf("motify time : %d/n", stat__mtime);printf("change time : %d/n", stat__ctime);printf("stat_buf size : %d/n", stat__blksize);printf("block size : %d/n", stat__blocks);return 0;}TAG:除⾮注明,⽂章均由 Linux系统学习 整理发布,欢迎转载。如有版权争议,请联系删除。