我在FILE1.txt中有这种格式的数据
#include "pch.h"
#include <iostream>
#include <vector>
int main()
{
int* arr;
for (int i = 0; i < 1; i++)
{
std::vector<int> vec{ 1 };
arr = &vec[0];
std::cout << "Inside the loop in the vector: " << vec[0] << std::endl;
std::cout << "Inside the loop in the array: " << arr[0] << std::endl;
}
std::cout << "Outside the loop in the array: " << arr[0];
}
我想以以下格式将数据打印到文件.... FILE2.txt
@E/f1/w/ @H/abc/w/ @demo/file/wk/Fil0.fk
@E/f2/w/ @H/cdv/w/ @demo/file/wk/Fil1.fk
@E/f3/w/ @H/efg/w/ @demo/file/wk/Fil2.fk
@E/f4/w/ @H/mno/w/ @demo/file/wk/Fil3.fk
@E/f5/w/ @H/pqr/w/ @demo/file/wk/Fil4.fk
答案 0 :(得分:0)
欢迎使用StackOverflow。
我假设您要将第一列和第二列保存在新文件中。
您必须在FILE1.txt所在的路径中创建一个类似于波纹管的bash,使用chmod +x <bash_file_name>
命令将其更改为可执行文件,然后由./<bash_file_name>
#!/bin/bash
input="FILE1.txt"
while IFS= read -r line
do
# Extract file name
filename=`echo "$line" | awk '{print $3}' | cut -d'/' -f4`
# Extract data
clumnOne=`echo "$line" | awk '{print $1}'`
clumnTwo=`echo "$line" | awk '{print $2}'`
# Write to file
echo "$clumnOne $clumnTwo" >> $filename
done < "$input"
答案 1 :(得分:-1)
始终显示您尝试过的内容。
假设文件名为x
,
与cut
:
$: cut -d/ -f 10 x
与sed
:
$: sed 's#^.*/##' x
与awk
:
$: awk ' { gsub("^.*/",""); print; }' x
纯bash
:
$: while read line; do echo "${line//*\/}"; done < x