标签: linux

对制表符分隔文件进行排序

我有一个格式如下的数据:

foo<tab>1.00<space>1.33<space>2.00<tab>3
Run Code Online (Sandbox Code Playgroud)

现在我尝试逐渐根据最后一个字段对文件进行排序.我尝试了以下命令,但它没有像我们预期的那样排序.

$ sort -k3nr file.txt  # apparently this sort by space as delimiter

$ sort -t"\t" -k3nr file.txt
  sort: multi-character tab `\\t'

$ sort -t "`/bin/echo '\t'`" -k3,3nr file.txt
  sort: multi-character tab `\\t'
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法呢?

这是样本数据.

unix linux sorting tab-delimited

169
推荐指数
3
解决办法
17万
查看次数

在Linux中查找-exec shell函数?

有没有办法find执行我在shell中定义的函数?例如:

dosomething () {
  echo "doing something with $1"
}
find . -exec dosomething {} \;
Run Code Online (Sandbox Code Playgroud)

结果是:

find: dosomething: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有没有办法让find-execdosomething

linux bash shell bsd find

169
推荐指数
8
解决办法
7万
查看次数

删除Linux中的终端历史记录

在Linux终端中使用up键时,可以再次使用以前的命令.很棒的功能.但是,我开始使用命令中的敏感细节将mysql记录到mysql中.

如何删除该历史记录?

linux bash terminal

169
推荐指数
2
解决办法
21万
查看次数

如何杀死僵尸进程

我在前台启动了我的程序(一个守护程序),然后我用它杀了它kill -9,但我得到了一个僵尸,我无法杀死它kill -9.如何杀死僵尸进程?

如果僵尸是一个死的进程(已经被杀死),我如何从输出中删除它ps aux

root@OpenWrt:~# anyprogramd &
root@OpenWrt:~# ps aux | grep anyprogram
 1163 root      2552 S    anyprogramd
 1167 root      2552 S    anyprogramd
 1169 root      2552 S    anyprogramd
 1170 root      2552 S    anyprogramd
10101 root       944 S    grep anyprogram
root@OpenWrt:~# pidof anyprogramd
1170 1169 1167 1163
root@OpenWrt:~# kill -9 1170 1169 1167 1163
root@OpenWrt:~# ps aux |grep anyprogram
 1163 root         0 Z    [cwmpd]
root@OpenWrt:~# kill -9 1163
root@OpenWrt:~# ps aux |grep anyprogram
 1163 …
Run Code Online (Sandbox Code Playgroud)

linux shell ubuntu debian zombie-process

169
推荐指数
5
解决办法
41万
查看次数

Clang vs GCC用于我的Linux开发项目

我在大学,我们正在使用C项目.我们已经探索过GCC和Clang,而Clang似乎比GCC更加用户友好.因此,我想知道使用clang(而不是GCC)在Linux上使用C和C++进行开发有哪些优点或缺点?

在我的情况下,这将用于学生级程序,而不是生产.

如果我使用Clang,我应该使用GDB调试并使用GNU Make,还是使用其他调试器和make实用程序?

c c++ linux gcc clang

168
推荐指数
5
解决办法
9万
查看次数

Linux中缓冲区与缓存内存有什么区别?

对我来说,目前尚不清楚两种Linux内存概念之间的区别是什么:buffercache.我已经阅读了这篇文章,在我看来,它们之间的区别在于过期政策:

  1. 缓冲区的策略是先进先出
  2. 缓存的策略是最近最少使用的.

我对吗?

特别是,我正在看两个命令:freevmstat

james@utopia:~$ vmstat -S M
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
5  0      0    173     67    912    0    0    19    59   75 1087 24  4 71  1
james@utopia:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2007       1834        172          0         67        914
-/+ buffers/cache:        853       1153
Swap:         2859          0       2859
Run Code Online (Sandbox Code Playgroud)

linux memory buffer caching

166
推荐指数
10
解决办法
21万
查看次数

如何在Python和Linux中使用"/"(目录分隔符)?

我已经在python中编写了一个代码,它使用/在一个文件夹中创建一个特定的文件,如果我想在windows中使用它不起作用的代码,有没有办法在Windows和Linux中使用代码.

在python我使用此代码:

pathfile=os.path.dirname(templateFile)
rootTree.write(''+pathfile+'/output/log.txt')
Run Code Online (Sandbox Code Playgroud)

当我在假设Windows机器中使用我的代码时,我的代码将无法正常工作.

如何在Linux和Windows中使用"/"(目录分隔符)?

python unix linux windows

166
推荐指数
10
解决办法
14万
查看次数

如何在Linux上将所有文件夹和文件重命名为小写?

我必须递归地重命名一个完整的文件夹树,这样就不会出现任何大写字母(它是C++源代码,但这无关紧要).忽略CVS和SVN控制文件/文件夹的加分点.首选方法是shell脚本,因为shell应该可以在任何Linux机器上使用.

关于文件重命名的细节有一些有效的论据.

  1. 我认为应该覆盖具有相同小写名称的文件,这是用户的问题.当检出案例忽略文件时,系统也会用后者覆盖第一个文件系统.

  2. 我会考虑AZ字符并将它们转换为az,其他一切只是要求问题(至少使用源代码).

  3. 在Linux系统上运行构建需要脚本,因此我认为应该省略对CVS或SVN控制文件的更改.毕竟,这只是一个划痕结账.也许"出口"更合适.

linux rename lowercase

165
推荐指数
15
解决办法
19万
查看次数

寻找不属于某人的文件

我正在寻找递归查看目录以查找非特定用户拥有的文件,我不知道如何写这个.

linux shell search file

165
推荐指数
5
解决办法
8万
查看次数

httpd:使用127.0.0.1 for ServerName无法可靠地确定服务器的完全限定域名

我试图在CentOS 5.0上重新启动我的Apache服务器并收到此消息:

httpd:使用127.0.0.1 for ServerName无法可靠地确定服务器的完全限定域名

这是/etc/hosts文件:

127.0.0.1    server4-245    server4-245.com    localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6
Run Code Online (Sandbox Code Playgroud)

这是/etc/sysconfig/network文件:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245
Run Code Online (Sandbox Code Playgroud)

我在Apache httpd.conf文件中也有这个:

ServerName localhost
Run Code Online (Sandbox Code Playgroud)

但是,当我重新启动Apache时,我仍然收到第一条错误消息.

linux apache centos

165
推荐指数
6
解决办法
45万
查看次数