Bash小技巧(惯用法)-2

读取文件的第一行

很简单:

head -1 file.txt
 

如果用sed来实现,可以是:

    sed -n '1p' file.txt
 

但上面这个命令会导致整个文件都会读取一遍,对于大数据量的文件效率实在不高。如果能够在读取完了1行之后,就不再读取呢,下面的命令行可以做到:

    sed -n '1p;1q' file.txt

检索指定id的用户名

通常想到的方式是:

grep 502 /etc/passwd | cut -d: -f1  

 

或者这样:

grep 502 /etc/passwd | awk -F":" '{print $1}'  

 

其实一条awk命令就可以做到,不需要用到管道线:

awk -F":" '$3==502{print $1}' /etc/passwd  
 

 

 

 

bash shell中readarray和mapfile的用法 readarray和mapfile是在Bash shell里把输入内容读取到数组的便捷命令,借助不同的选项,你可以灵活控制读取的行数、起始索引、是否去掉换行符等。readarray和mapfile是Bash中用于将输入内容读取到数组中的命令,以下是一些具体的使用场景及示例。 阅读详情

相关推荐

KEGG两类报错--①No gene can be mapped--②URL ‘https://rest.kegg.jp/link/hsa/pathway‘…

版本问题,重新安装一下clusterProfiler包。网络问题,可以等待之后再试一下(试过不是)(以上可以排除基因不存在的错误因素)

weixin_57699783的博客 2万+

sed命令入门

什么是sedsed是一种流处理编辑器,可以分割、查找、替换文本。 sed命令的处理流程:行处理 Created with Raphaël 2.1.0在shell中执行sed文本或管道输入读入到模式空间处理模式空间中的文本是否还有剩余的行输出结果到控制台或文件yesnosed命令的格式sed [options] ‘command’ file options(选项): -e (使用多个sed命令)

渐入佳境Coder 698

车载以太网测试技术解析

在智能汽车与HiL测试领域,高效解析与模拟车载网络通信是开发验证的关键。ZD-Converter 2000以媒体/介质转换器、嗅探器、拦截器、仿真器四合一的颠覆性设计,成为工程师应对复杂车载以太网测试的瑞士军刀。它支持双路车载/标准以太网智能转换、实时通信嗅探、硬件级数据拦截及ECU通信模拟,更通过串口命令实现全参数远程配置,赋能自动化测试流程。本文将深度解析其核心功能与实战应用场景。

Triv2025的博客 1142

linux sed n 1p,sed初学者实用说明

例如,在多个系统、应用程序安装之后,我们往往需要对很多配置文件进行修改,用vi编辑器意味着耗费时间、重复劳动,而sed就可将我们从繁重的重复劳动中解放出来。sed的调用方式:1、sed [sed选项] 'sed命令' 要修改的文件2、sed [sed选项] -f sed脚本 要修改的文件3、sed脚本 [sed选项] 要修改的文件这里仅介绍最常用的第一种方式sed选项:仅列常用的-i:直接修改源文...

weixin_42524100的博客 7073

Xilinx Vivado vitis IDE launch Failed \ Web installer client Obsolete 怎么办

Xilinx vitis_IDE failed Web installer client Obsolete

weixin_44820962的博客 8643

【01】总目录——软件设计师50讲通关地图|从零基础到工程师职称

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏的01篇总目录,系统梳理了50篇博文的完整架构与核心逻辑。专栏覆盖软考软件设计师(中级)全部考点,分为导学规划、基础知识、设计模式、下午题专项、算法实战、冲刺模拟、收官进阶七大模块,既兼顾上午题75道单选题的理论攻坚,也聚焦下午题案例分析的解题能力提升。每篇博文均包含考点精讲、真题解析、实战技巧与速记方法,配套可运行代码、解题模板及备考资源。无论你是零基础转行、在校学生还是在职程序员,都能通过这份学习地图明确进度、精准定位薄弱环节,高效搭建知识体系

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1279

shell中的sed

目 录一、sed编辑器二、工作流程三、命令格式1、格式2、常用选项3、常用操作四、sed命令的使用1、打印内容2、使用地址 一、sed编辑器 sed编辑器时一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要存储在一个命令文本文件中。 二、工作流程 sed 的工作流程主要包括读取、执行和显示三个过程: 读取:sed 从输入流(文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间

Bilson99的博客 1718

【JTAG】1500协议详解

随着集成电路的规模不断扩大,1149.1的板级测试无法满足要求越来越高的芯片测试需求。芯片规模变大后,测试需求不在是一次测试整片芯片,而是芯片分为好几个区域去测试,而1500协议正是对1149.1在该方面的一个补充即1149.1主要测试板级间的互连,而1500用来测试芯片内不同core之间的互连。IEEEStd1500已经为包含不同模块的集成电路(ICs)开发了一种可测试性设计标准方法。............

xuhe0206的博客 7019

linux命令sed

sed:stream editor,流式编辑器的意思。 sed命令的格式: 1.sed [选项] '命令' 输入文件,比如sed -n '1p' a.txt 2.输入源 |sed [选项] '命令' ,比如cat a.txt| sed '1a haha' 常用的选项: -n∶不加-n,处理文件的内容...

xiaozhuangyumaotao的博客 440

ollama使用CPU安装qwen-coder模型_并在eclipse中使用ai coder插件_配置本地qwen-coder模型_ollama常用操作记录---AI大模型应用探索0002

文章摘要:作者分享了在Windows 10上安装和使用Ollama模型的过程。尝试了不同规模的qwen-coder模型(7b、1.5b和0.5b),发现7b模型响应极慢(需35分钟),而1.5b模型表现较好(3秒响应)。最终选择1.5b版本用于代码开发辅助,支持多语言自动补全。同时提到在最新版Eclipse中的AIcoder配置问题。文章重点比较了不同模型规模在CPU环境下的实际使用体验和响应速度差异。

添柴程序猿的专栏 682

硬件电路RS485通信EMC 设计

RS485通讯硬件设计与STM32实现要点 本文详细介绍了RS485通讯系统的硬件设计和STM32实现方案。硬件设计重点包括:采用总线型拓扑结构、120Ω终端电阻匹配、屏蔽双绞线布线、TVS管和自恢复保险丝保护等核心要素。EMC设计强调共模电感抑制干扰、屏蔽层单端接地、光电隔离等技术。软件实现方面,提供了基于STM32F103的完整程序框架,包括UART初始化、收发控制逻辑和中断处理机制,特别强调了收发切换时机、波特率精度等关键注意事项。文中还给出了工业传感器节点的实际应用案例,展示了一个完整的EMC防护电

qq_37999850的博客 1383

Shell脚本:让你一次了解sed编辑器的操作规范

目 录一、sed编辑器介绍①sed编辑器的工作流程②sed命令的具体格式 一、sed编辑器介绍 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 ①sed编辑器的工作流程 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。 sed的工作流程主要包括读取、执行和显示三个过程: 读取: sed从输入流 (文件、管道、标准输入) 中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space) 执行:默

萧碧宰治的博客 518

彻底解决Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource

Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource

renkai721的专栏 24万+

Linux Bash Shell入门教程

BASH 的基本语法最简单的例子 —— Hello World!关于输入、输出和错误输出BASH 中对变量的规定(与 C 语言的异同)BASH 中的基本流程控制语法函数的使用2.1     最简单的例子 —— Hello World!几...

我的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Bash小技巧(惯用法)-1

Bash小技巧(惯用法) 退出码判断(命令执行成功与否的判断) 在Bash脚本中,我们经常要先执行某个命令行,然后判断它是否执行成功,这时我们要对它的退出码进行判断。罗嗦一些的写法如下: if [ $? -eq 0 ] then echo "Success" fi   简洁的写法如下: [ $? -eq 0 ] &am...

巨人站在肩膀上 205

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ROS系统下WHEELTEC N100惯导模块初使用记录

本文ROS系统位于树莓派(系统为Ubuntu16),上位机为虚拟机(系统为Ubuntu18)。再打开一个终端,键入代码:roslaunch fdilink_ahrs tf.launch(这里需要先重新定义源:source devel/setup.bash,再执行代码)将惯导模块接入Ubuntu系统后打开终端,输入ls -l /dev/tty*指令查看串口号,此时会发现无法分辨那个串口对应着惯导模块。注意:打开新的终端需要重新定义源,即再次执行:source devel/setup.bash。

m0_74142169的博客 3445

bash中变量的高级用法

提示用户输入一个正整数num,然后计算1+2+3+…+num的值,必须对num是否为正整数做出判断,不符合应当允许用户继续输入。num >0 是否成立,如果成立即为正整数。主要用来进行整数运算,包括加减乘除,引用变量前面可以加。输入num1=5.6,num2=3,输出 1.8666。去判断是否能执行成功。执行成功说明为整数,再判断。bc是bash内建的运算器,支持浮点数运算。内建变量scale可以设置,默认为0。都是可以的,对于数值比较,推荐使用。两者是等价的,但推荐初学者使用。declare命令参数表。

qq_20877327的博客 1055

bash常见用法速览

bash中常用系统变量: KaTeX parse error: Expected 'EOF', got '#' at position 6: USER #̲当前用户名 uname -r …(uname -m) #当前机器架构x86_64 $HOME #当前用户home路径 set命令用法: http://www.ruanyifeng.com/blog/2017/11/bash-set.html read函数:当运行到该句时,会等待终端输入,然后读取终端输入内容。 变量的使用 如果要引用一个变量,可以在变量名

zhanghm1995的博客 3640

Bash 中 nohup 与 & 的区别及用法解析

在Bash中,nohup和都可以用来在后台运行命令,但它们的作用和用途各有不同。以下将详细介绍它们的特点、区别及适用场景。是Bash的一个特殊符号,用于将命令放到后台执行。它的主要功能是让命令在后台运行,不会阻塞当前终端。

vortex5的博客 1796

bash的常见用法

Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。由于早年的Unix年代,发展者众,所以由于shell依据发展者的不同就有许多的版本,例如常听到的Bourne  SHell(sh)、在Sun    里头默认的 C  SHell、    商业上常用的K   SHel...

LZH_12345的博客 2116

Bash脚本用法总结

Bash 脚本有两个部分:bash和script。Bash 是一个 Unix shell,由 GNU 项目开发。脚本只是一组在文件中编写并使用 bash 执行的命令。Bash 不是市场上唯一的 shell,但它是最受欢迎的 shell。

QQVQQ的博客 2148

linux 命令 尖括号_Bash 中尖括号的更多用法

在这篇文章,我们继续来深入探讨尖括号的更多其它用法。在上一篇文章当中,我们介绍了尖括号(<>)以及它们的一些用法。在这篇文章,我们继续来深入探讨尖括号的更多其它用法。通过使用 <,可以实现“欺骗”的效果,让其它命令认为某个命令的输出是一个文件。例如,在进行备份文件的时候不确定备份是否完整,就需要去确认某个目录是否已经包含从原目录中复制过去的所有文件。你可以试一下这样操作:diff...

weixin_26766559的博客 692

ROS开发之如何使用WHEELTEC N100惯导模块?

之前采用的惯导模块为ICM20948 IMU模块(模块精度0.06°/s,即216'/s),这款IMU用于某个需要一直旋转Z轴的实验,匀速旋转IMU,对姿态数据采集1min,经实验,模型在Z轴旋转时,也即平面旋转过程,Z轴旋转数据相邻两帧变化最大达到5.5°,误差非常大,导致实验一直出现问题。现换高精度惯导模块WHEELTEC N100,以下说明WHEELTEC N100惯导模块在ROS环境下如何使用。

【cacrle】的博客 4468

bash中${}的用法

在bash中${}用于设置变量默认值和字符串取值切片以及变量的间接引用,详细用法如下图,在Centos6下字符串取子${STR:POSITON:LENGTH},LENGTH为负数会报错。 1、${VAR},取出变量VAR值 [root@localhost~]#a=hjks [root@localhost~]#echo${a} hjks 2、${VAR:-DEFAULT},VAR没有定义或者为空则输出$DEFAULT的值(VAR不变) [root@localhost~...

Yonx 3141

Linux Bash 中 $? 的详细用法

Bash (Bourne Again SHell) 是使用最广泛的 SHell 脚本语言之一,因为它与 Unix 和 Linux 系统兼容。它提供了许多内置函数和变量,使脚本编写更高效,更不容易出错。其中一个变量是 `$?`, 它是 Bash 脚本错误处理的一个组成部分。这个特殊变量保存最后一个执行命令的退出状态,这对于根据命令成功或失败控制脚本流至关重要。

xiaochong0302的博客 1390

全宇宙最全的bash 脚本常见用法总结!

shopt -s extdebug f()(printf '%s\n' "${BASH_ARGV[@]}"); f "$@" shopt -u extdebug } 用法示例: $ reverse_array 1 2 3 4 5 5 4 3 2 1 $ arr=(red blue green) $ reverse_array "${a...

weixin_30877181的博客 815
上一篇: MySQL的substring_index函数
下一篇: 怎样使用rpm命令一次性删除依赖的软件包
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值