我正在编写一个 shell 脚本,使用任何通用的 UNIX 命令。我必须检索字符最少的行(包括空格)。最多可以有大约 20 行。
我知道我可以用它head -$L | tail -1 | wc -m
来查找 L 行的字符数。问题是,我能想到的唯一方法是手动编写一堆 if 语句,比较这些值。
示例数据:
seven/7
4for
8 eight?
five!
Run Code Online (Sandbox Code Playgroud)
将返回,4for
因为该行的字符最少。
就我而言,如果多行的长度最短,则应返回一条。选择哪一个并不重要,只要它是最小长度即可。但我没有看到为其他情况下的其他用户显示两种方式的危害。
我正在寻找一种仅在最后一个字符是换行符时执行替换的方法,使用sed
.
例如:
lettersAtEndOfLine
Run Code Online (Sandbox Code Playgroud)
被替换,但这不是:
lettersWithCharacterAfter&
Run Code Online (Sandbox Code Playgroud)
由于sed
不能很好地与换行符一起使用,所以它并不像
$ sed -E "s/[a-zA-Z]*\n/replace/" file.txt
Run Code Online (Sandbox Code Playgroud)
如何做到这一点?
我有代码需要在其中进行批量查找和替换(仅在一个文件中)。
我需要对一百多个项目执行以下操作:
转动:
begin();
Random code in between.
begin();
More random code...
100 more "begin()"s...
begin();
Run Code Online (Sandbox Code Playgroud)
进入:
begin(1);
Random code in between.
begin(2);
More random code.
100 more "begin()"s...
begin(102);
Run Code Online (Sandbox Code Playgroud)