我有以下文件queries.sql,它包含许多查询,结构如下:
/* Query 1 */
SELECT cab_type_id,
Count(*)
FROM trips
GROUP BY 1;
/* Query 2 */
SELECT passenger_count,
Avg(total_amount)
FROM trips
GROUP BY 1;
/* Query 3 */
SELECT passenger_count,
Extract(year FROM pickup_datetime),
Count(*)
FROM
我希望将输出保存到文件中,同时,我也希望看到屏幕上的进度。
基本上,tee只为一行工作。有什么解决办法吗?
[user@linux ~]$ cat -n test.sh
1 echo line 1 | tee out.txt
2 echo line 2 | tee out.txt
3 echo line 3 | tee out.txt
4 ls -lh out*
[user@linux ~]$
[user@linux ~]$ ./test.sh
line 1
line 2
line 3
-rw-r--r-- 1 user user 7 M
假设我有一个以Unix格式创建的文件。现在,在将该文件发送到窗口之前,必须完成EOL转换。
我需要在bash中这样做,这就是我到目前为止所拥有的:
为了简单起见,假设我的文件名为file_linux.txt,它提供以下输出:
cat -A file_linux.txt
first line$
second line$
third line$
file file_linux.txt
file_linux.txt: ASCII text
因此,似乎我只需要在$符号之前添加回车(^M或\r)。
我的想法是使用sed将$替换为\r$,方法如下:
sed 's/$/\r$/g' fil
我有一个txt文件,其中包含一些内容,我想使用linux命令将其转换为yml格式。
示例Txt文件
mac
linux
windows
我想要下面的输出。就像我想添加"os“关键字并通过linux命令将其转换为yml一样。
os:
- mac
- linux
- windows
有人能帮我弄到这个吗,谢谢
linux命令"lsof“返回正在访问的文件,我在shell中尝试使用vi打开一个文件,用kwrite打开另一个文件,然后返回并得到vi的进程,但没有kwrite进程,如下所示
[linux@localhost shell_ex]$ lsof +d .
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 3458 linux cwd DIR 253,2 50 953101 .
bash 3747 linux cwd DIR 253,2 50 95
这是我的样本文件
user@linux:~$ cat file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
user@linux:~$
我可以用grep -A2 'e 2' file.txt打印第2-4行。
user@linux:~$ grep -A2 'e 2' file.txt
Line 2
Line 3
Line 4
user@linux:~$
我也可以用grep -n打印出行号。
user@linux:~$ grep -nA2 'e 2' file.txt
2:Line 2
3-Line 3
4
当我使用grep查找我需要的文本时,它将显示包含与给定模式匹配的行。
例如,
# grep -r ".*Linux" *
path0/output.txt:I hope you enjoyed working on Linux.
path1/output1.txt:Welcome to Linux.
path2/output2.txt:I hope you will have fun with Linux.
然后,我想编辑文件path2/output2.txt,因此,我输入了vim path2/output2.txt。
但是,我不认为这是一个有效的方法。
如何在grep之后复制
我有一个模板文件(template.txt):
Hello, $x
Hello, $y
我有一个脚本文件(script.sh):
#!/bin/bash
$x=linux
$y=unix
# I want to include template.txt as a here-doc
如何将template.txt包含为here-doc of script.sh。
因此,当我运行script.sh时,输出应该是:
Hello, linux
Hello, unix
编辑:
我认为replace对我的工作来说是个很好的命令:
$ cat template.txt | replace '$x&
我有一个在windows中创建的R文件。该文件包含以下代码
print(5+7)
fileConn<-file("ch7.txt","w+")
close(fileConn)
代码在windows R中运行得很好,但是当我试图从Linux运行该文件时,我得到了一个错误。我在我的Linux机器上运行了R,并且输入了下面的命令。
> source('R_linux.R')
[1] 12
Error in file("ch7.txt", "w+") : cannot open the connection
I
我对python和SQL非常陌生,我正在尝试一些编码任务。我有一个如下格式的SQL查询,其中我使用python和SQL返回一组值。我想使用python定义变量"X为User_Name“,并将其解析为本地linux目录中的文本文件(例如,在名为Usernames.txt的文件中)。
query = """\
Select
X as User_Name,
Y,
Z
FROM
tbl1
WHERE ...
AND ... """
在下面的片段中,我试图将它写到文本文件中,但似乎不适合我。
cursor = co
我正在使用一个bash脚本来生成一个用于更高管理的报告,并在cronjob的帮助下通过邮件发送它,但我的问题是我们需要粗体格式的Grand_Total行。
我通过以下多个查询得到结果:
mysql -H -u$DBUSER -p$DBPASS test -e "SELECT IFNULL(cust_name,'Grand_Total') AS cust_name,SUM(order_amt) AS amt FROM mytable1 GROUP BY cust_name WITH ROLLUP;" > REPORT_FILE.txt
mysql -H -