如何使用linux命令将.txt文件中的分隔符从当前逗号(,)更改为分号(;)?
这是我的ME_1384_DataWarehouse_*.txt文件:
Data Warehouse,ME_1384,Budget for HW/SVC,13/05/2022,10,9999,13/05/2022,27,08,27,08
Data Warehouse,ME_1384,Budget for HW/SVC,09/05/2022,10,9999,09/05/2022,45,58,45,58
Data Warehouse,ME_1384,Budget for HW/SVC,25/05/2022,10,999
假设我有一个文件A包含需要删除的列号(我的输入文件fileB中确实有500多个列),
fileA:
2
5
我想从fileB中删除这些列(2和5):
a b c d e f
g h i j k l
在Linux中获得:
a c d f
g i j l
我该怎么办?我发现我可以避免用代码打印那些列:
awk '{$2=$5="";print $0}' fileB
但是,这样做有两个问题,第一,它没有真正删除那些列,它只是使用空字符串来替换它们;其次,不是手动输入这些列号,而是如何通过从另一个文件中读取这些列号来获得这些列号。
原始问题:假设我有一个文件A包含需要
我试着用awk分割列来打印一个句子,但是第一个列有空格。
我的初学者代码示例:
$ awk '/Linux/ { print "The filename","\""$1"\"","is located in",$2 }' test.txt
The filename "The" is located in test
The filename "Some" is located in file
The filename "File" is located
编辑以删除不必要地使用"cat“命令.
我有一个Linux脚本,它从CSV文件中读取数据,并根据文件中每一行的最后一列执行操作。
输入文件具有以下基本格式:
asdf,foo
1234,foo
qwerty,bar
zxcv,baz
7890,bar
最初的Linux脚本如下所示:
sed s/.*,//g $1 | sort -u | while read item
do
# Do stuff with $item
done
我很难将Linux脚本转换为在Windows环境中运行,使用GnuWin32版本的cat、sed和sort。到目前为止,我尝试过的是:
for /f
我需要将一个文件(file1)中指定的字符串列表与另一个文件(file2)进行比较,然后使用linux只报告包含字符串的列的匹配部分和另一个列
下面是一个示例:
包含要搜索的字符串的文件-file 1如下所示
Name
Laura
Caroline
Chan
Carol
要搜索的文件- file2:
Name Title Salary
George Research fellow 48000
Vanesse, Laura , Robert Graduate
系统: Linux。巴什4号。
我有以下文件,它将作为变量读入脚本中:
/path/sample_A.bam A 1
/path/sample_B.bam B 1
/path/sample_C1.bam C 1
/path/sample_C2.bam C 2
我想在第一列的文件名末尾添加"_string“,但在扩展名(.bam)之前。因为在名称的开头包含路径,所以比较棘手。
期望输出:
/path/sample_A_string.bam A 1
/path/sample_B_string.bam B 1
/path/sample_C1_string.bam C 1
/path/sam
假设在linux中有一个文件,它的行用空格分隔。
例如:
This is linux file
This is linux text
This is linux file 1
This is linux file 3
现在我只想打印那些在文件行中有第5列的行。在本例中,我的输出应该是第3行和第4行(其中1和3作为第5列)
做这件事最好的方法是什么?