我有下面的脚本来减去两个目录之间的文件计数,但COUNT=
表达式不起作用.什么是正确的语法?
#!/usr/bin/env bash
FIRSTV=`ls -1 | wc -l`
cd ..
SECONDV=`ls -1 | wc -l`
COUNT=expr $FIRSTV-$SECONDV ## -> gives 'command not found' error
echo $COUNT
Run Code Online (Sandbox Code Playgroud) 假设您有一个txt文件,同时查看前10行和后10行文件的命令是什么?
即如果文件长度为200行,则一次查看1-10行和190-200行.
我知道你可以mkdir
创建一个目录并touch
创建一个文件,但是没有办法一次完成这两个操作吗?
即如果我想在文件夹other
不存在时执行以下操作:
cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt
Run Code Online (Sandbox Code Playgroud)
错误:
cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory
Run Code Online (Sandbox Code Playgroud)
有没有人想出一个功能作为解决方法?
给定一个包含这样数据的文件(即stores.dat文件)
sid|storeNo|latitude|longitude
2|1|-28.03720000|153.42921670
9|2|-33.85090000|151.03274200
Run Code Online (Sandbox Code Playgroud)
输出列名数的命令是什么?
即在上面的示例中它将是4.(管道字符数+第一行中的1)
我想的是:
awk '{ FS = "|" } ; { print NF}' stores.dat
Run Code Online (Sandbox Code Playgroud)
但它返回所有行而不是第一行,而第一行则返回1而不是4
在对表进行进一步操作之前需要提交的语句列表是什么,以避免锁定?我不是在讨论具有多个语句和事务完整性的完整事务; 相反,我指的是单一陈述.
我知道insert应该被提交但truncate有一个自动提交.需要提交的语句的完整列表是什么?
需要提交(入门名单):
UPDATE
INSERT
DELETE
Run Code Online (Sandbox Code Playgroud) 给定一个包含这样数据的文件(即stores.dat文件)
sid|storeNo|latitude|longitude
2tt|1|-28.0372000t0|153.42921670
9|2t|-33tt.85t09t0000|15t1.03274200
Run Code Online (Sandbox Code Playgroud)
什么是返回每行't'字符出现次数的命令?
例如.会回来:
count lineNum
4 1
3 2
6 3
Run Code Online (Sandbox Code Playgroud)
另外,要按字段出现次数来执行此操作,返回以下结果的命令是什么?
例如.第2列和字符't'的输入
count lineNum
1 1
0 2
1 3
Run Code Online (Sandbox Code Playgroud)
例如.第3列和字符't'的输入
count lineNum
2 1
1 2
4 3
Run Code Online (Sandbox Code Playgroud) foo="/sdf/here/jfds"
bar="${foo##*/}"
Run Code Online (Sandbox Code Playgroud)
Canyone解释了" ${foo##*/}
"表达式是如何工作的,因为我知道它将在最后一个正斜杠(即jfds)之后返回字符串,但我不知道它是如何做到的(或者这种类型的表达式被调用)?
我想知道是否rm
可以删除目录中的所有文件(但不删除子文件夹或子文件夹中的文件)?
我知道有些人使用:
rm -f /direcname/*.*
Run Code Online (Sandbox Code Playgroud)
但是这假定文件名有一个扩展而不是全部(我希望所有文件 - 有或没有扩展名被删除).
需要一个接受文件名作为参数的函数,然后返回该文件中的行数.
应该在30秒内获取一个1000万行文件的计数.
目前有一些东西 - 但它与大文件太慢:
Dim objFSO, strTextFile, strData, arrLines, LineCount
CONST ForReading = 1
'name of the text file
strTextFile = "sample.txt"
'Create a File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Open the text file - strData now contains the whole file
strData = objFSO.OpenTextFile(strTextFile,ForReading).ReadAll
'Split by lines, put into an array
arrLines = Split(strData,vbCrLf)
'Use UBound to count the lines
LineCount = UBound(arrLines) + 1
wscript.echo LineCount
'Cleanup
Set objFSO = Nothing
Run Code Online (Sandbox Code Playgroud)