我在Linux中处理一些目录,我试图操纵文件名,这是我的情况
grep 'string' | awk '{print $2$3}'
Run Code Online (Sandbox Code Playgroud)
我得到以下内容
dir1/another-directory/even-another-directory/file1.jpeg
dir1/another-directory/even-another-directory/fiiile2.jpeg
dir1/another-directory/even-another-directory/filee4.jpeg
dir1/another-directory/even-another-directory/fileee1.jpeg
Run Code Online (Sandbox Code Playgroud)
我试图采取这些文件的最后一部分(斜杠之后的任何内容),以便我得到这样的列表,在CSV文件中可能吗?
file1.jpeg
fiiile2.jpeg
filee4.jpeg
fileee1.jpeg
Run Code Online (Sandbox Code Playgroud)
是awk还是削减才能做到这一点?我知道这是一个非常基本的问题,但到目前为止我找不到相关的在线内容.
谢谢,
我有这个命令遍历目录中的所有文件夹并删除所有文件夹,除了一个:
FOR /D %i IN ("Directory\*") DO IF /I NOT "%i" == "FolderToKeep" RD /S/Q "%i"
Run Code Online (Sandbox Code Playgroud)
现在我需要它来保留两个特定文件夹而不是一个.起初我认为这只是为比较添加一些简单的OR逻辑,但似乎批处理不支持OR和AND等逻辑运算符.那么实现这一目标的最佳方法是什么?如果OR命令不存在,可能有一些功能可以让你测试变量是否包含在列表中?这样的事可能吗?
FOR /D %i IN ("Directory\*") DO IF /I NOT "%i" IN "FolderToKeep","FolderToKeep2" RD /S/Q "%i"
Run Code Online (Sandbox Code Playgroud)
我不熟悉批量编码,如果这看起来微不足道,请原谅.
我正在使用来自我的bash_profile的自定义提示符,当我在终端中输入长命令时,它们会换行在同一行而不是新行.那是怎么回事?
Cyan='\e[0;36m' # Cyan
export PS1="${Cyan}\w$ \e[m"
Run Code Online (Sandbox Code Playgroud) 我正在从Linux命令行运行Python脚本,并且脚本本身在第一行导入了几个模块.我收到一些错误消息并在线搜索.以下是Python脚本作者的回复:
看起来你正在运行dexseq_count.py,好像它是一个shell脚本,而不是Python.因此,脚本的第一行被解释为Linux命令"import"而不是Python代码,从而导致您报告的错误.
我很好奇importPython中的第一行是否在Linux中被错误解释,如果是这样,我该如何解决这个问题呢?我必须在cmd行而不是Python中运行.
非常感谢!
我有一个系统在vim中插入单个字符 - 我使用:nmap <Space> i_<Esc>r.然而,出于某种原因,这似乎干扰了我重新逃脱.我重新开始逃跑了:imap kj <Esc>.
每当我按下时kj,vim会_在我的光标前插入一个,然后改变我按下空格的样子.我无法弄清楚为什么这些东西会像这样互动.有人可以解释一下这个问题吗?我很感激.
这是我的整个vimrc
"general settings
syntax on
filetype plugin on
set number
set smd
set ru
"Leader
let mapleader=','
nmap <Leader>w :w<Enter>
nmap <leader>e :wq<Enter>
nmap <leader>q :q!<Enter>
"remappings
nmap ; :
imap kj <Esc>
nmap <Space> i_<Esc>r
"au comands
au Filetype python source ~/.vim/scripts/python.vim
au Filetype ruby source ~/.vim/scripts/ruby.vim
au Filetype c source ~/.vim/scripts/c.vim
Run Code Online (Sandbox Code Playgroud) 我正在文本文件中使用tail,head,cut和awk命令,并且这些命令以某种方式创建了名为"-d"和"-f2"的空文件(可能是由于).现在我无法从命令行删除这些文件,因为所有命令都将这些文件作为选项.当然我可以从Finder中删除这些,但我想知道如何从命令行中删除它们.
我有一个脚本,其中包含以下内容
#!/bin/bash javac -classpath /netweka/weka-3-6-10/weka.jar ./*.java
当我尝试在Linux终端上运行此脚本时,我收到一条错误消息:
: not found javac: invalid flag: Usage: javac use -help for a list of possible options : not found*.java
我想编译当前目录中的所有java文件.我错过了什么?
先感谢您.
perl开关"-E"和"-e"如何相互不同?在这个例子中,它们的工作方式完全相同 - 在切换后执行命令:
$ perl -e 'print "$_\n" foreach 1..2'
1
2
$ perl -E 'print "$_\n" foreach 1..2'
1
2
Run Code Online (Sandbox Code Playgroud) 我试图获得一个简单的程序来获取命令行参数并打印出来.任何名称加上解释标记的字符串.例子:鲍勃!!!!
import sys
def hello(name):
name = name + "!!!!"
print(hello,name)
def main():
hello(sys.argv[1])
main()
Run Code Online (Sandbox Code Playgroud)
它正确打印出Bob !!!!,但还有其他一些东西:
函数你好在0x7f69465145f0鲍勃!!!! 围绕整个事情的<>除了鲍勃!!!!
我不知道为什么它不会简单地打印出来,鲍勃!!!!,通常没有其他的东西.
此外,每次运行时,<>中的数字/字母组合都会发生变化.将在功能打招呼和鲍勃!!!! 保持不变.
我正在尝试从cmd打开Microsoft Outlook 2010,但我希望电子邮件的正文包含换行符/换行符.
"C:\Programs\Microsoft Office\Office14\OUTLOOK.EXE" /c ipm.note /m "myemail@email.com&cc=seconda.address@email.com&subject=Test&body=Line 1 \r\n Line 2"
Run Code Online (Sandbox Code Playgroud)
随着Outlook 2010正确打开电子邮件地址,主题,但我无法弄清楚如何自动插入换行符.
我试着/ 0, ,
,,\
r \n\r\R,$ _但它仍然把它写成简单的文字.
我知道%20个字符放置是一个空格,但我需要一个换行符.
这甚至可能吗?没有.bat或东西,只是简单的命令行(Windows XP)