这样做是否有"规范"方式?我一直在使用head -n | tail -1哪种技巧,但我一直想知道是否有一个Bash工具专门从文件中提取一行(或一系列行).
"规范"是指一个程序,其主要功能就是这样做.
只是好奇这些是如何实现的.我看不出我会从哪里开始.他们直接在float's/double'位上工作吗?
另外在哪里可以找到math.h的函数源代码?我找到的只是带有原型的头文件或带有从其他地方调用其他函数的函数的文件.
编辑:编辑标题后,部分信息丢失了.我特别指的是ceil()和floor()功能.
这是一个片段:
var=`ls | shuf | head -2 | xargs cat | sed -e 's/\(.\)/\1\n/g' | shuf | tr -d '\n'`
Run Code Online (Sandbox Code Playgroud)
这将从当前目录中选择两个随机文件,组合它们的内容,将它们混洗,并将结果分配给var.这大部分时间都可以正常工作,但是在一千个案例中只有一次,而只是输出ls被绑定到var(它不仅仅是输出,参见编辑II).可能是什么解释?
一些更可能相关的事实:
GNU bash, version 4.1.5(1)-release (i686-pc-linux-gnu)Linux 2.6.35-28-generic-pae #50-Ubuntu编辑:我自己运行了几千次没有错误的代码片段.然后我尝试用整个脚本的其他各个部分运行它.这是一个产生错误的配置:
cd dir_with_text_files
var=`ls | shuf | head -2 | xargs cat | sed -e 's/\(.\)/\1\n/g' | shuf | tr -d '\n'`
cd ..
Run Code Online (Sandbox Code Playgroud)
cds 之间有几百行脚本,但这是重现错误的最小配置.请注意,异常输出绑定到var当前目录的输出,而不是dir_with_text_files.
编辑II:我一直在更详细地研究输出.该ls输出不会单独出现,它有两个洗牌文件(它们的内容之间,或之后或之前,完整的)一起的.但它变得更好; 让我建立一个讨论特定目录的舞台.
[~/projects/upload] ls -1
checked …Run Code Online (Sandbox Code Playgroud) 这是一个警告,当我想要离开某些页面时Firefox会引发.根据我看到的页面,当我在填写表单后尝试关闭页面时出现此警告,我只能假设它正在动态页面上工作.使用哪种技术来实现此功能?如何在一个简单的hello-world页面上自己实现它?
我想从字符串中获取两个分隔符(正则表达式)之间的子字符串.我想用这个:
while (<>) {
if (/START/../END/) {
next if /START/ || /END/;
print;
}
}
Run Code Online (Sandbox Code Playgroud)
但这适用于stdin的行.我想让它在一个字符串的行上工作.怎么样?
当我有StringBuilder一个容量为5 的空,我写"你好,世界!" 对它来说,C#标准是否指定了新的容量StringBuilder?我有一个模糊的记忆,它是新字符串长度的两倍(以避免每个新附加的字符串改变容量).
看看这个页面:
它加载良好(至少在这里)。现在我想用 wget 来抓取它。
$ wget http://www.ptmytrade.com/product.asp?id=61363 --debug
DEBUG output created by Wget 1.12 on linux-gnu.
--2011-05-21 18:24:51-- http://www.ptmytrade.com/product.asp?id=61363
Resolving www.ptmytrade.com... 205.209.150.134
Caching www.ptmytrade.com => 205.209.150.134
Connecting to www.ptmytrade.com|205.209.150.134|:80... connected.
Created socket 3.
Releasing 0x0890e260 (new refcount 1).
---request begin---
GET /product.asp?id=61363 HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: www.ptmytrade.com
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 500 Internal Server Error
Connection: keep-alive
Date: Sat, 21 May 2011 16:24:56 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET …Run Code Online (Sandbox Code Playgroud) Foo是一个包含大量字符串字段的类.我想创建一个方法Wizardify,在对象的许多字段上执行操作.我可以这样做:
Foo Wizardify(Foo input)
{
Foo result;
result.field1 = Bar(input.field1);
result.field2 = Bar(input.field2);
result.field3 = Bar(input.field3);
...
Run Code Online (Sandbox Code Playgroud)
这是一些易于生成的代码,但我不想在此上浪费50行.有没有办法浏览对象的选定字段?请注意,我想以不同的方式处理四个或五个字段,并且应该从迭代中排除它们.
我有一堆像这样的行:
John Smith
Jane Doe
Dr. Bruce Wayne
Run Code Online (Sandbox Code Playgroud)
我想将名称放入一个包含两列的csv文件:标题和全名.我正在使用正则表达式:/(\w*\. )?(.*)/然后我打印"$1;$2".问题是,在没有标题的名称中,perl会抱怨未初始化的值为$ 1.如何使用空字符串?